2011-12-07 8 views
2

私はこのイメージカルーセルを持っていますが、これを円にして無限大にスクロールさせて、また可能であれば、どうすれば自動スクロールできますか?Jquery imageカルーセルは円形カルーセルになっていますので、無限になります

HTML:

<div id="my_carousel"> 
<ul> 
    <li>some content...</li> 
    <li>some content...</li> 
    <li>some content...</li> 
    <li>some content...</li> 
    <li>some content...</li> 
    <li>some content...</li> 
    ..... 
</ul> 

<script language="javascript"> 
$(function() { 
    var step = 2; 
    var current = 0; 
    var maximum = $('#my_carousel ul li').size(); 
    var visible = 2; 
    var speed = 200; 
    var liSize = 331; 
    var carousel_height = 161; 


    var ulSize = liSize * maximum; 
    var divSize = liSize * visible; 

    $('#my_carousel ul').css("width", ulSize+"px").css("left", -(current * liSize)).css("position", "absolute"); 

    $('#my_carousel').css("width", divSize+"px").css("height", carousel_height+"px").css("visibility", "visible").css("overflow", "hidden").css("position", "relative"); 

    $('.btnnext').click(function() { 
     if(current + step < 0 || current + step > maximum - visible) {return; } 
     else { 
      current = current + step; 
      $('#my_carousel ul').animate({left: -(liSize * current)}, speed, null); 
     } 
     return false; 
    }); 

    $('.btnprev').click(function() { 
     if(current - step < 0 || current - step > maximum - visible) {return; } 
     else { 
      current = current - step; 
      $('#my_carousel ul').animate({left: -(liSize * current)}, speed, null); 
     } 
     return false; 
    }); 
}); 
</script> 

答えて

0

あなたが何かを試みることができる:

$('.btnnext').click(function() { 
    if(current + step < 0 || current + step > maximum - visible) { 
     current = maximum - step; 
    } 
    else { 
     current = current + step; 
    } 

    $('#my_carousel ul').animate({left: -(liSize * current)}, speed, null); 
    return false; 
}); 

$('.btnprev').click(function() { 
    if(current - step < 0 || current - step > maximum - visible) { 
     current = 0 + step; 
    } 
    else { 
     current = current - step; 
    } 

    $('#my_carousel ul').animate({left: -(liSize * current)}, speed, null); 
    return false; 
}); 

をあなたが数字でビットをいじくり回す必要がある場合がありますが、これはあなたの現在をリセットする必要がありますカルーセルの終わりまたは冒頭のどちらの位置にもかかわらず、毎回値を指定します。終わりの場合は、最初にジャンプする必要があります。それが最初であれば、それは最大限に終わります(終了)。

+0

実際には何もしないようです。 – user794846

0

JCrousell Liteプラグインを使用してこれを行うことができます。 のJCrousellプラグインを使用することもできます。あなたは現在使用しています。

これが役に立ちます。

+0

今はプラグインを使用していません。カスタムコード – user794846

+0

私は、何かがすでに利用可能であるならば、あなたは使うべきだと思います。そのコードは、時間を無駄にしています。 – AlphaMale

+0

私は同意するだろうが、私はすでに円形の部分とは別に作業しているカスタムコードを持っているので、本当に時間の無駄ではない。 – user794846

関連する問題