autoslide jQuery jCarousel Lite无法正常工作

时间:2011-11-04 17:43:47

标签: jquery hover mouseover jcarousellite

我有一个div,它包含这样的元素:

 <div class='anyClass' style='float:left'>
 <ul class="slider_ctre" id="mycarousel">
    <li class="outer_prdcts"><asp:HyperLink ID="hyp0" runat="server"   NavigateUrl="http://192.168.20.120/tabid/62/Gifts+++Jewelery/HOuse+Of+Jamal+Attar/Jamal+Collection/0/SKU/1016-1637-2699-0/Default.aspx"><img class="prdct_img_blue" src="/Portals/_default/images/image_1.jpg" alt='' width='100' height='100' /></asp:HyperLink></li>
    <li class="outer_prdcts"><asp:HyperLink ID="hyp1" runat="server" NavigateUrl="http://192.168.20.120/tabid/62/Gifts+++Jewelery/HOuse+Of+Jamal+Attar/Jamal+Collection/0/SKU/1016-1637-2699-0/Default.aspx"><img class="prdct_img_blue" src='/Portals/_default/images/image_2.jpg' alt='' width='100' height='100' /></asp:HyperLink></li>
    <li class="outer_prdcts"><img class="prdct_img_blue" src='/Portals/_default/images/image_3.jpg' alt='' width='100' height='100' /></li>
    <li class="outer_prdcts"><img class="prdct_img_blue" src='/Portals/_default/images/image_4.jpg' alt='' width='100' height='100' /></li>
    <li class="outer_prdcts"><img class="prdct_img_blue" src='/Portals/_default/images/image_5.jpg' alt='' width='100' height='100' /></li>
    <li class="outer_prdcts"><img class="prdct_img_blue" src='/Portals/_default/images/image_6.jpg' alt='' width='100' height='100' /></li>
 </ul>

 </div>

我正在使用jQuery jCarousel Lite来滑动这些图像。我的要求是如何在鼠标悬停时停止滚动?

jQuery是:

   <script type='text/javascript' language='javascript'>
   $(function() {
    $('.anyClass').jCarouselLite({
    btnNext: '.next',
    btnPrev: '.prev',
    auto: 200
    });

    });
   </script>

2 个答案:

答案 0 :(得分:4)

显然,jCarousel Lite不提供暂停选项。

jCarousel Lite有一个discussion here about making a modification来添加暂停选项。

According to comments on the jCarousel Lite website,对未缩小jcarousellite.js文件的修改如下:

将其添加到选项列表中(在o = $.extend({行下)。

pause: false

找到这个部分:

if(o.auto)
        setInterval(function() {
            go(curr+o.scroll);
        }, o.auto+o.speed);

并将其替换为:

if(o.auto)
    aktiv = setInterval(function() {
        go(curr+o.scroll);
    }, o.auto+o.speed);

if(o.pause)
    div.mouseover(function() {
        clearInterval(aktiv);
    });
    div.mouseout(function() {
        aktiv = setInterval(function() {
            go(curr+o.scroll);
        }, o.auto+o.speed);
    });

jCarouselLite()个参数中,请像这样包含它......

pause: true

答案 1 :(得分:0)

如果您在页面上,

如果两个或多个运行jCarouselLite,

变量 o 需要在aktiv中明确添加扩展对象。

o = $.extend({
    aktiv: null,
    pause: false


和aktiv改变o.aktiv

之前代码:aktiv
在代码之后:o.aktiv

if(o.auto)
    o.aktiv = setInterval(function() {
        go(curr+o.scroll);
    }, o.auto+o.speed);

if(o.pause) {
    div.mouseover(function() {
        clearInterval(o.aktiv);
    });
    div.mouseout(function() {
        o.aktiv = setInterval(function() {
            go(curr+o.scroll);
        }, o.auto+o.speed);
    });
}


完成:D