@j08691 は、jQuery アニメーションで子を継続的に回転させるにはどうすればよいですか?という質問に回答しました。 良い例で。ただし、彼の例を拡張する必要があり、動的に行う方法がわかりません。これは私が持っているものの小さなグラフィックです:
灰色のボックスは私のバナー グループで、フェードする 4 つのバナー項目が含まれています。緑色のボックスはボタン 1 から 4 です。ボタン 1 をクリックすると、banneritem 1 が表示され、他のすべてが非表示になります。ローテーション プロセスは、バナー アイテム 2 で続行する必要があります。ボタン 4 をクリックすると、banneritem 4 が表示されます。
jsfiddle : http://jsfiddle.net/wxvTp/
html:
<div class="col3 bannergroup">
<div class="banneritem">
<h1>Lorem Ipsum 1</h1>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<a href="#" title="Jetzt unverbindliches Angebot anfordern" class="btn orange">Wir freuen uns auf Ihr Projekt.</a>
</div>
<div class="banneritem">
<h1>Lorem Ipsum 2</h1>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<a href="#" title="Jetzt unverbindliches Angebot anfordern" class="btn orange">Wir freuen uns auf Ihr Projekt.</a>
</div>
<div class="banneritem">
<h1>Lorem Ipsum 3</h1>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<a href="#" title="Jetzt unverbindliches Angebot anfordern" class="btn orange">Wir freuen uns auf Ihr Projekt.</a>
</div>
<div class="banneritem">
<h1>Lorem Ipsum 4</h1>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<a href="#" title="Jetzt unverbindliches Angebot anfordern" class="btn orange">Wir freuen uns auf Ihr Projekt.</a>
</div>
<div class="slider-control-nav desktop"> <!-- buttons are here -->
<a class="button1" href="#">
<img src="images/icon-slider-control-cs.png" alt="Grafikdesign" />
</a>
<a href="#" class="button2">
<img src="images/icon-slider-control-gd.png" alt="Content Strategy" />
</a>
<a class="button3" href="#">
<img src="images/icon-slider-control-wd.png" alt="Grafikdesign" />
</a>
<a class="button4" href="#">
<img src="images/icon-slider-control-cs.png" alt="Content Strategy" />
</a>
</div>
</div>
編集:これは私が試したものですが、a) 機能していません。b) 4 つのボタンすべてに対して実行する必要があります。
$( ".button4" ).click(function() {
$('div.bannergroup').each(function () {
$('div.banneritem', this).not(':nth-child(4)').hide();
var thisDiv = this;
setInterval(function () {
var idx = $('div.banneritem', thisDiv).index($('div.banneritem', thisDiv).filter(':visible'));
$('div.banneritem:eq(' + idx + ')', thisDiv).fadeOut(0, function () {
idx++;
if (idx == ($('div.text', thisDiv).length)) idx = 0;
$('div.banneritem', thisDiv).eq(idx).fadeIn(600);
});
}, 6000);
});
});