【问题标题】:Jquery slider not working for unknown reasonsJquery 滑块由于未知原因无法正常工作
【发布时间】:2013-01-01 13:39:11
【问题描述】:

我正在尝试使用我以前多次使用过的 jquery 滑块 - 但这次它不起作用,我不知道为什么。

这是 HTML 代码,基本上只是一个主滑块 div,里面有另一个用于幻灯片的 div,每个幻灯片 div 都有一个幻灯片类(抱歉,我不能在没有“更多解释”的情况下发布此内容):

<div id="slider">
<div id="slides">
    <div class="slide">
        <img src="images/portfolio/web1.jpg" alt=""/>
    </div>
    <div class="slide">
        <img src="images/portfolio/web5.jpg" alt=""/>
    </div>
</div>
    <img src="images/arrow-L.png" alt="Left" id="slider-arrow-left"/>
    <img src="images/arrow-R.png" alt="Right" id="slider-arrow-right"/>
</div>

还有 CSS,只是设置高度和宽度:

#slider{height: 200px; position: relative; z-index: 1;}
#slider #slides {height: 200px; width: 883px; overflow: hidden; position: absolute; top: 0px; left: 0px;}
#slider #slides .slide{height: 200px; width: 883px;}
#slider img#slider-arrow-left {position: absolute; left: -30px; top: 80px; cursor: pointer;   z-index: 999;}
#slider img#slider-arrow-right{position: absolute; right: 0px; top: 80px; cursor: pointer; z-index: 999;}

还有 Jquery:

$(document).ready(function(){


    $('#slides').cycle({ 
        fx:      'scrollHorz', 
        speed:  'slow', 
        timeout: 10000, 
        pause:   1,
        prev: $('#slider-arrow-left'),
        next: $('#slider-arrow-right'),
        cssBefore:{ 
            top: 0,
            opacity: 1,
            display: 'block'
        }, 
        animOut: {  
            top: 360
        },
        before: function(curr, next, opts){
            var $curr = $(curr);
            var $next = $(next);
        },
        pause: 1,
        pager: '#slider-controls',
        pagerAnchorBuilder: function (idx, slide) {
            return '#slider-controls li:eq(' + idx + ') a';
        }
    });
});

【问题讨论】:

  • 你用的是什么滑块插件?
  • 我没有使用插件,只是上面的脚本。

标签: jquery slider


【解决方案1】:

我已经使用jQuery cycle plugin 尝试了您的示例。而且看起来还不错,

$(document).ready(function(){

    $('#slides').cycle({ 
        fx:      'scrollHorz', 
        speed:  'slow', 
        timeout: 0, //prevents auto start of jquery cycle.
        pause:   1,
        prev: $('#slider-arrow-left'),
        next: $('#slider-arrow-right'),
        cssBefore:{ 
            top: 0,
            opacity: 1,
            display: 'block'
        }, 
        animOut: {  
            top: 360
        },
        before: function(curr, next, opts){
            var $curr = $(curr);
            var $next = $(next);
        },
        pause: 1,
        pager: '#slider-controls',
        pagerAnchorBuilder: function (idx, slide) {
            return '#slider-controls li:eq(' + idx + ') a';
        }
    });

});​

这里:

jsFiddle

你可以相应地调整它。

【讨论】:

  • 很高兴为您服务,如果对您有帮助,请将答案标记为已解决。
  • 再问一个简单的问题。有没有办法防止它自动启动?我在有多个滑块的投资组合页面上使用它,我不希望它们自己运行。
  • 简单,只需将超时选项设置为'0',我已经编辑了上面的代码。
  • 谢谢。我敢肯定,您可以说我对此很陌生!我会将问题标记为已回答
猜你喜欢
  • 1970-01-01
  • 2012-04-17
  • 2011-11-18
  • 1970-01-01
  • 1970-01-01
  • 2015-10-28
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
相关资源
最近更新 更多