私はこのアイテムのリストを持っています
<div id="lessonThree">
<a class="next" href="#">Next</a>
<ul class="sponsors">
<li>Chicago Community Trust</li>
<li>Chicago Instructional Technology Foundation</li>
<li>City of Chicago</li>
<li>Corporation for Public Broadcasting</li>
<li>U.S. Department of Energy</li>
<li>Ford Foundation</li>
<li>Google</li>
<li>Intel</li>
<li>Knight Foundation</li>
<li>MacArthur Foundation</li>
<li>National Endowment for the Arts</li>
<li>NESTA</li>
<li>The Nominet Trust</li>
<li>National Science Foundation</li>
<li>Ontario Trillium Foundation</li>
<li>Social Science Research Council</li>
<li>Alfred P. Sloan Foundation</li>
<li>Telefonica</li>
<li>ZeroDivide</li>
</ul>
</div>
ここで達成しようとしているのは、一度に表示するアイテム数の制限を設定したいということです。
var MAX_ITEM = someNumbers // this will be define in the javascript file
したがって、その時点で表示する最大アイテムがあるとすれば、3
私が本当に望んでいるのは、 fadeIn
jQueryを1つずつ使用できるようにすることであり、MAX_ITEMに達したときに、1500
setTimeOutまたは同様のものを使用してミリ秒の遅延が必要です少しの間、3 つの項目が表示されfadeOut
、次の 3 つの項目が開始され、無限ループとして続きます。
ボタンは、next
あたかも次のアイテムをより速く動かしたいかのように、次のアイテムに速く移動するために使用されます。
以前はこのプラグインを使用していましCarofredSel
たが、実際には Web アプリケーションのページ読み込みに多くの影響を与え、スタイルには多くの制限があり、実際には制御できませんでした。
これを達成できるように、誰かが私に方法や例を提案できますか?
これは私が始めたコードです
$('ul > li').each(function(i, element) {
$(element).delay(i * 2000).fadeIn();
});
しかし、上記のコードは各リスト項目をループするだけで、最後に停止します。
アップデート:
「Stackoverflowについて」もう少し調査しました。良い例がたくさんあり、これは私が望むものに最も近いものですが、私が望むものを正確に達成することはできません.
var counter = 0;
var limit = 3;
function fadeInSequence(li){
var next = $(li).next('li')!=null?function(){fadeInSequence($(li).next('li'));}:function(){};
$(li).fadeIn(2000,next);
counter++;
if(counter == limit){
counter = 0;
}
}
fadeInSequence($('.sponsors>li:first'));
上記のコードはfadeIn
、リスト内のすべてのアイテムを処理しますが、無限ではありません。ここで必要なのは、3 つのアイテムのみfadeOut
を表示し、次の 3 つを表示する上記と同じです。