JQuery .animate超过10000后无法计算剩余值

发布于 2024-10-01 07:51:52 字数 999 浏览 3 评论 0原文

我正在尝试做某种滑块。我只是使用基本概念。我有一个面具、一个容器 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诺曦 2024-10-08 07:51:52

看起来这是一个 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文