jQuery 在为左值设置动画时减去填充?奇怪的

标签 jquery css xhtml html-lists

我正在使用无序列表制作 slider 。标准结构,示例(与我使用的代码不同):

<div style="overflow: hidden;width: 500px;padding: 20px;position: relative">
    <ul style="width: 1000px;position: relative;padding: 0;margin: 0;list-style: none;">
    <li style="width: 500px;padding: 0;margin: 0;float: left;"></li>
    <li style="width: 500px;padding: 0;margin: 0;float: left;"></li>
    </ul>
</div>

使用 li 500px 的宽度和 20px 的 div 填充加上 500px 的宽度例如。 还有一些 jQuery,例如:

$(div ul).animate({left: position.left-500+"px"});

我偶然注意到我的错误,jQuery 在向左滑动 ul 时只会滑动它 460px在这种情况下。似乎它正在自动减掉填充?因此滑动了<ul>每次都关闭。

关于为什么会发生这种情况的任何解释?

最佳答案

我尝试了这个并接下来工作:

要么将 ul 位置更改为绝对位置

或者 像动画一样 $('ul').animate({left: '-=520'+"px"}

20px 仅在 Opera 中添加,即 ff '-=500' 与预期的相对位置一起工作

这是我的测试代码

    <div style="overflow: hidden;width: 500px;padding: 20px;position: relative;background-color: black;">
<ul style="width: 1500px;position: relative;padding: 0;  margin: 0;list-style: none; ">
<li style="width: 500px;padding: 0;margin: 0;float: left; background-color: blue;">-</li>
<li style="width: 500px;padding: 0;margin: 0;float: left;background-color: red;">-</li>
<li style="width: 500px;padding: 0;margin: 0;float: left;background-color: green;">-</li> 
</ul>
</div>  

 <script  type="text/javascript">
 $(document).ready(function(){
// $('ul').animate({left: '-=20'+"px"});       
 $('ul').animate({left: '-=500'+"px"});
 $('ul').animate({left: '-=500'+"px"});    

 })
</script>

关于jQuery 在为左值设置动画时减去填充?奇怪的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3977362/

相关文章:

html - 在 li 标签内嵌套多个 div 标签

html - 水平对齐div中的3个按钮

css - 添加 Doctype 会破坏布局

javascript - 如何在滚动鼠标时水平移动页面?

javascript - jquery 检查页面 URL 是否包含特定路径

javascript - jquery中按id选择

javascript - 使用 bootstrap 和 javascript 在文本框区域 onfocus 事件中添加图标

javascript - 使用 css transition 和 vanilla JavaScript 更改不透明度仅在淡出时有效

xhtml - richfaces IE10 "Object doesn' t 支持此属性或方法”

jquery - 每次窗口滚动时,如何为具有特定类的每个元素调用一个函数(jquery))