当新幻灯片出现时移动我的滑块缩略图

发布于 2024-10-16 22:41:59 字数 706 浏览 8 评论 0原文

脚本:jQuery 循环滑块: http://jquery.malsup.com/cycle/

我正在使用以下代码可在下一张幻灯片进入视图之前将滑块缩略图容器向左移动“130px”。当到达最后一张幻灯片时,边距将重置为“0px”。这种方法效果很好,但是容器直到第三张幻灯片才发生移动。

这是我正在使用的代码:

function onBefore(currElement, nextElement, opts, isFoward) {
    var currentslide = opts.currSlide + 1; 
    if(currentslide == opts.slideCount) {
        jQuery(".slider-nav").animate({marginLeft: '0'});
    } else if(currentslide > 1 && currentslide != opts.slideCount) {
        jQuery(".slider-nav").animate({marginLeft: '-=133'});
    }           
}

一旦第二张幻灯片进入视图,我怎样才能让它移动。注意:将上面代码中的“> 1”替换为“> 0”会在页面加载后立即移动容器。

Script: jQuery Cycle slider: http://jquery.malsup.com/cycle/

I'm using the following code to move my slider thumbnails container to the left by "130px" just before the next slide comes into view. The margin is then reset to "0px" when the last slide is reached. This works well, however the container does not shift until the third slide.

This is the code I'm using:

function onBefore(currElement, nextElement, opts, isFoward) {
    var currentslide = opts.currSlide + 1; 
    if(currentslide == opts.slideCount) {
        jQuery(".slider-nav").animate({marginLeft: '0'});
    } else if(currentslide > 1 && currentslide != opts.slideCount) {
        jQuery(".slider-nav").animate({marginLeft: '-=133'});
    }           
}

How can I have it shift once the second slide comes into view. Note: Replacing "> 1" in the code above with "> 0" shifts the container as soon as the page loads.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

回忆躺在深渊里 2024-10-23 22:41:59

我不确定调用该函数的上下文。但我认为您需要以下代码:

function onBefore(currElement, nextElement, opts, isFoward) {
      if(opts.currSlide == opts.slideCount) {
         jQuery(".slider-nav").animate({marginLeft: '0'});
     } else { 
         jQuery(".slider-nav").animate({marginLeft: '-=133'});
     }
}

如果这不起作用,可能是因为您的第一张幻灯片是 (slideCount = 0) 而不是 (slideCount = 1)。如果是这样,请将 IF 测试更改为:

      if(opts.currSlide == (opts.slideCount - 1)) {

问候
尼尔

I'm not sure of the context in which this function is called. But I think you want the following code:

function onBefore(currElement, nextElement, opts, isFoward) {
      if(opts.currSlide == opts.slideCount) {
         jQuery(".slider-nav").animate({marginLeft: '0'});
     } else { 
         jQuery(".slider-nav").animate({marginLeft: '-=133'});
     }
}

If that doesn't work it may be because your first slide is (slideCount = 0) instead of (slideCount = 1). If so change the IF test to:

      if(opts.currSlide == (opts.slideCount - 1)) {

Regards
Neil

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