【问题标题】:Jquery Cycle activeClass only works after nav is clickedJquery Cycle activeClass 仅在单击导航后才有效
【发布时间】:2011-10-14 14:13:52
【问题描述】:

更新 - 添加 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");
}

}

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

提前致谢。

【问题讨论】:

    标签: jquery html css jquery-plugins cycle


    【解决方案1】:

    在问题陈述中稍加澄清会有所帮助

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

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

    【讨论】:

    • 感谢您的回复!我已经改为使用标签而不是 div,很好。当我添加问题时,我很着急,对错误感到抱歉。澄清一下:我遇到了附加到寻呼机元素的“activeSlide”类的问题。 HTML 和 CSS 并不真正相关。发生的事情是,当页面加载时,循环正常开始,但寻呼机按钮没有采用 activeSlide 类。 activeSlide 类保留在第一张幻灯片上,直到单击其中一个分页器。单击寻呼机后,它就会开始正常运行。有什么想法吗?
    • 我能想到 2 个可能的原因 1)你对 'onAfter' 方法的实现是什么?观察到的怪癖可能是此方法的实现中的一些错误的结果。请粘贴 'onAfter' 的代码 2)浏览器怪癖:您使用什么浏览器和什么版本进行测试? @Sreenath $(document).ready(function(){ //handler }); AND $(function(){ //处理程序 });是等价物。所以他们不会产生任何差异link
    • 我已经在问题中发布了函数。我正在使用 chrome 进行测试,但我也检查了 ie 和 ff,它正在全面发生。 'onAfter' 函数正在检查寻呼机项目是否具有 'activeSlide' 类。如果第四个寻呼机项目具有类,则左侧位置动画。一次只显示 3 个寻呼机,因此一旦到达第四个,左侧位置就会移动以显示剩余的 3 个。此功能不完整,但这是另一回事。还有什么想法吗?再次感谢您的意见。
    • 通过插入 updateActivePagerLink ,我们应该按 (0,1,2..) 的顺序保持警觉。 $("#slider").cycle({ fx: 'scrollHorz', timeout: 4000, pause: 1, pager: '#nav_slide', prev: '#prev2', next: '#next2', after: onAfter, pagerAnchorBuilder: 分页, updateActivePagerLink: 函数 (pager, currSlide, clsName) { alert(currSlide); } });如果此命令未出现,则说明有问题。让我知道会发生什么
    • 感谢您的回复,插上电源后,我只得到'0'来提醒。我注意到在您发表评论的示例中,您使用的是 id 而不是类,这会影响功能吗?如果我使用寻呼机链接,它们会发出正确的数字警报。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多