代码之家  ›  专栏  ›  技术社区  ›  Jeff Dowell

我的jquery幻灯片无法正常运行

  •  0
  • Jeff Dowell  · 技术社区  · 11 年前

    请容忍我,我不是程序员。我有一个 template based site 用一个糟糕的幻灯片展示。股票的滚动速度太快了。所以我在设置中关闭了自动播放。

    我可以添加jquery/java/html/css,但我无法更改现有的代码。有人对如何使幻灯片正常工作有什么建议吗?

    这是我添加的内容,使其播放/淡出,但它真的很急。

    <script>
    window.setInterval(slideClick, 9000); function slideClick() 
    { $(".slide").click(); $(".sqs-active-slide").hide().fadeIn(); }
    </script>
    
    1 回复  |  直到 11 年前
        1
  •  0
  •   Jack M.    11 年前

    也许试试这个? 确保JQuery包含在页面顶部(我自己托管我的,但你可能会得到谷歌托管)它看起来像这样:

    <script type="text/javascript" src="path/to/jquery.min.js"></script>
    

    然后你把这个放在页面的底部:

    <script type="text/javascript">    
    $(document).ready(function() {
        $(".slide").bind("click", function(){
    
            $(".sqs-active-slide").fadeOut(500, function(){
                //change active slide here
                //remove class from current active slide
                //then run the following line
                $(".sqs-active-slide").fadeIn(500);
            }); 
    
        }); 
    
        window.setInterval(slideClick, 9000); 
    });
    
    function slideClick() 
    { 
        $(".slide").click();
    }
    </script>
    

    这将停留在同一张幻灯片上,所以您必须添加代码才能进入下一张幻灯片,我猜不出该怎么办,因为您没有提供足够的代码。

    编辑: 它不起作用的原因是,在我的示例中,您必须更改$forJQuery,因为您的JQuery是这样配置的 但是,请注意:

    if ( $active.length == 0 ) $active = jQuery('#slideshow span:last');
    

    将该行之后的其余函数更改为:

    var $next = $active.next().length ? $active.next() : jQuery('#slideshow span:first');
    $active.addClass('last-active');
    $active.fadeOut(500, function(){
        $next.addClass('active').fadeIn(500);
    });