我有一個jQuery幻燈片代碼,用下面的HTML結構正常工作:(修改)jQuery的幻燈片不工作
<div id="slideshow">
<div id="slideshowImages">
<img src="image1.jpg" alt="" />
<img src="image2.jpg" alt="" />
</div>
<div id="slideshowNav">
<span id="slideshowLeft"><a href="#"><img src="images/slideshowLeft.png" alt=">" /></a></span>
<span id="slideshowRight"><a href="#"><img src="images/slideshowRight.png" alt="<" /></a></span>
</div><!-- /#slideshowNav -->
</div><!-- /#slideshow -->
雖然現在我想修改它,這樣它會具有相同的結構工作,但不是簡單的圖像,圖像現在是鏈接。也就是說,幻燈片標記的「肉」,現在是:
<a href="#"><img src="image1.jpg" alt="" /></a>
<a href="#"><img src="image2.jpg" alt="" /></a>
jQuery的代碼,使幻燈片工作是一個有點冗長,所以我想我只是張貼必要的東西。它的主要原理是:
jQuery('#slideshowImages img:first').addClass('active');
jQuery('#slideshowImages img:last').addClass('lastImg');
var $active = jQuery('#slideshowImages img.active');
var $previous = $active.prev().length ? $active.prev(): jQuery('#slideshowImages img.lastImg');
$active.animate({opacity:0.0}, 300, function() {
//when done animating out, animate next in
$previous.css({opacity:0.0})
.animate({opacity: 1.0}, 400, function() {
$active.removeClass('active');
$previous.addClass('active');
});
});
如果我console.log()
$active
和$previous
,我不斷收到同樣的事情。我有什麼辦法可以使$previous
變量實際上成爲之前的圖像嗎?我認爲.prev()
現在正在使錨鏈接,而不是以前的形象,雖然我可能是錯的。
要查看此代碼的實時版本,可以在http://engineercreativity.com/samples/daf查看。該網站不是英文的,但我認爲這不會影響任何內容。
感謝您的幫助! 阿米特
我用'jQuery的()'而不是'$()的原因',是因爲我已經安裝以及燈箱插件,它使用的prototype.js,因此我不得不避開'$'衝突 – Amit 2011-05-31 02:13:27
最後,由於希伯來語是從右向左閱讀的,因此該幻燈片實際上是向後轉而不是向前轉。我知道,這很重要。 – Amit 2011-05-31 02:14:30