JQuery .animate超过10000后无法计算剩余值
我正在尝试做某种滑块。我只是使用基本概念。我有一个面具、一个容器 div 和其中的各个项目。就像:
<div id="mask"> ----> position:relative
<div id="container"> -----> position: absolute
<div class="item"></div> ----> each floated left.
<div class="item"></div>
<div class="item"></div>
.....
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
</div>
一切都工作正常,直到左边的值超过 10000(或者我无法计算它)。当我单击下一个按钮时,它会转到开头并返回到下一个项目。它显示了正确的项目,尽管它会回滚而不是仅滑动一项。
goToNextItem: function() {
showcaseItemWrapper.animate({left: leftPosition -= showcaseItemWidth },1000);
}
leftPosition 最初设置为 0。
可能是什么问题?你能帮忙吗?
提前致谢。
#### 我如何应用大卫的解决方案? #### 我已将容器的 margin-left 设置为 -9999px,并将 left 设置为 9999px,它起作用了!**
最佳 Rgds, 乌古尔·科法利
I am trying to do some kind of slider. I am just using the basic concept. I have a mask, a container div and individual items in it. Like:
<div id="mask"> ----> position:relative
<div id="container"> -----> position: absolute
<div class="item"></div> ----> each floated left.
<div class="item"></div>
<div class="item"></div>
.....
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
</div>
Everything is working fine, until the left value exceeds 10000 (or so I couldn't calculate it). When I click on next button it goes to the beginning and comes back to next item. It shows the correct item although it rolls back instead of just slide one item.
goToNextItem: function() {
showcaseItemWrapper.animate({left: leftPosition -= showcaseItemWidth },1000);
}
leftPosition is set to 0 initially.
What could be the problem? Could you please help?
Thanks in advance.
#### HOW DID I APPLY DAVIDE'S SOLUTION ? ####
I've set container's margin-left to -9999px and it's left to 9999px, and it worked!**
Best Rgds,
Ugur Korfali
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来这是一个 jQuery 错误:
http://bugs.jquery.com/ticket/7287
我在这里也有同样的经历。
如果你的div宽度< 20000 你可以使用一个解决方法;将边距修改为 10000 并修改位置(左侧或顶部,具体取决于您的 div 方向)。它不是很优雅,但它可以完成工作。
达维德
Looks like it is a jQuery bug:
http://bugs.jquery.com/ticket/7287
I am experiencing the same here.
If your div width is < 20000 you can use a workaround; modify margin up to 10000 and the modify the position (left or top, depending on your div orientation). It's not very elegant, but it does the job.
Davide