小さなスライドショーを作成しましたが、それを自動化しようとしています。HTML 要素は次のようになります。
<ul>
<li>
<h3 class="active-item" data-bg="background-image url">Title 1</h3>
<div class="news-excerpt"><p>The excerpt</p></div>
</li>
<li>
<h3 class="" data-bg="background-image url">Title 2</h3>
<div class="news-excerpt"><p>The excerpt</p></div>
</li>
<li>
<h3 class="" data-bg="background-image url">Title 3</h3>
<div class="news-excerpt"><p>The excerpt</p></div>
</li>
</ul>
ここに私のスライドショーがあります:
$("#alternative-navigation div#last-posts-fadeshow h3").click(function(){
// Get url of the background image to show.
var bgvar = $(this).attr("data-bg");
// Set the right post excerpt to show
$('.active-excerpt').removeClass('active-excerpt');
$(this).next('.news-excerpt').addClass('active-excerpt');
$('.active-item').removeClass('active-item');
$(this).addClass('active-item');
Cufon.refresh();
//alert (bgvar);
// Switch to right background image
$("#background-image-container").fadeTo('medium', 0.1, function()
{
$("#background-image-container").css("background-image", "url(" + bgvar + ")" );
}).fadeTo('medium', 1);
return false;
});
今、私はそれを4秒ごとに自動的に進めたいと思っています。どうすればそれを機能させることができますか:
$('html').addClass('js');
$(function() {
var timer = setInterval( showDiv, 3000);
function showDiv() {
// Select the next post to show
$(this) = $('#alternative-navigation div#last-posts-fadeshow h3.active-item').parent().next().find('h3');
// Get url of the background image to show.
var bgvar = $(this).attr("data-bg");
// Set the right post excerpt to show
$('.active-excerpt').removeClass('active-excerpt');
$(this).next('.news-excerpt').addClass('active-excerpt');
$('.active-item').removeClass('active-item');
$(this).addClass('active-item');
Cufon.refresh();
//alert (bgvar);
// Switch to right background image
$("#background-image-container").fadeTo('medium', 0.1, function()
{
$("#background-image-container").css("background-image", "url(" + bgvar + ")" );
}).fadeTo('medium', 1);
return false;
}
});
最初の部分は正しいタイトルを選択しているように見えますが、何も起こりません。何か案は?