Jquery Cycle activeClass 仅在点击 nav 后才起作用

发布于 2024-12-09 14:36:26 字数 1038 浏览 0 评论 0原文

更新 - 添加了 onAfter 函数

我遇到了一个奇怪的循环问题。

我遇到的问题是,“activeSlide”类不会附加到寻呼机按钮,直到您单击一个。单击分页器项目时它工作正常,但在页面加载时,当滑块开始滚动时,它会停留在第一个分页器项目上。

这是我的 jquery:

$(document).ready(function() {

$('.slideshow').cycle({
            fx: 'scrollHorz',
            timeout: 4000,
            pause: 1,
            pager: '#nav_slide',
            prev:   '#prev_btn', 
            next:   '#next_btn',

            after:   onAfter,

            pagerAnchorBuilder: paginate


        });

});


                        function paginate(idx, el)


  {
    return '<div class="slide' + idx + '"></div>';
}


                    function onAfter() { 

var hasClass = $(".slide3").hasClass("activeSlide");
var hasTheClass = $(".slide0").hasClass("activeSlide");

if(hasClass == true) {
    $("#nav_slide").animate({"left": "-=226px"}, "fast");
}else if(hasTheClass == true) {
    $("#nav_slide").animate({"left": "0px"}, "fast");
}

}

有什么想法吗?我已经被难住有一段时间了!

提前致谢。

Updated - Added onAfter function

I'm having a strange issue with cycle.

The Issue i'm having, is that the "activeSlide" class, doesn't get appended to the pager buttons until you click on one. It works fine when the pager items are clicked, but on page load, when the slider starts rolling through, it stays on the first pager item.

Here's my jquery:

$(document).ready(function() {

$('.slideshow').cycle({
            fx: 'scrollHorz',
            timeout: 4000,
            pause: 1,
            pager: '#nav_slide',
            prev:   '#prev_btn', 
            next:   '#next_btn',

            after:   onAfter,

            pagerAnchorBuilder: paginate


        });

});


                        function paginate(idx, el)


  {
    return '<div class="slide' + idx + '"></div>';
}


                    function onAfter() { 

var hasClass = $(".slide3").hasClass("activeSlide");
var hasTheClass = $(".slide0").hasClass("activeSlide");

if(hasClass == true) {
    $("#nav_slide").animate({"left": "-=226px"}, "fast");
}else if(hasTheClass == true) {
    $("#nav_slide").animate({"left": "0px"}, "fast");
}

}

Any ideas? I've been stumped for a while now!

Thanks in advance.

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

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

发布评论

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

评论(1

微凉徒眸意 2024-12-16 14:36:26

问题陈述中的一些澄清会有所帮助

1) 您是否遇到“导航按钮”或“寻呼按钮”的问题?
2)什么是“activeClass”。您的意思是附加到 pager(1,2,3..) 元素的“activeSlide”吗?
3) 请粘贴 HTML 和CSS ,如果这些相关的话。

PS:由于分页器元素是幻灯片的链接,我建议使用 而不是

标签。

function paginate(idx, el) {
                return '<a href="#">'+ (idx + 1) +'</a>';
            }

Little clarification in problem statement would help

1) Are you having problems with "navigation buttons" or "pager buttons"?
2) What is "activeClass" . Do you mean "activeSlide" that gets appended to pager(1,2,3..) elements?
3) Please paste HTML & CSS , if these are relevant.

PS: Since the pager elements are links to slides, I would recommend using <a> instead of <div> tags.

function paginate(idx, el) {
                return '<a href="#">'+ (idx + 1) +'</a>';
            }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文