autoslide jQuery jCarousel Lite not working

2019-02-19 17:03发布

I have a div and it contains elements like this:

 <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>

I am using jQuery jCarousel Lite to slide these images. My requirement is how can I stop its scrolling on mouseover?

jQuery is:

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

    });
   </script>

2条回答
倾城 Initia
2楼-- · 2019-02-19 17:15

If you are on a page,

and if two or more runs jCarouselLite,

variables o need to explicitly add the extension object in aktiv.

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


and aktiv changes o.aktiv

before code: aktiv
after code: 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);
    });
}


finished :D

查看更多
不美不萌又怎样
3楼-- · 2019-02-19 17:17

Apparently, jCarousel Lite does not offer the pause option.

There is a discussion here about making a modification to jCarousel Lite to add a pause option.

According to comments on the jCarousel Lite website, the modifications to the un-minified jcarousellite.js file are as follows:

Add this to the list of options (under the o = $.extend({ line).

pause: false

Find this section:

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

And replace it with this:

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);
    });

Within your jCarouselLite() parameters, include it like this...

pause: true
查看更多
登录 后发表回答