Я использую этот код для постепенного исчезновения изображений http://snook.ca/archives/javascript/simplest-jquery-slideshow
jQuery
$(function(){ $('.fadein img:gt(0)').hide(); setInterval(function(){ $('.fadein :first-child').fadeOut() .next('img').fadeIn() .end().appendTo('.fadein');}, 3000); });
CSS
.fadein { position:relative; width:500px; height:332px; } .fadein img { position:absolute; left:0; top:0; }
HTML
<div class="fadein"> <img src="http://farm3.static.flickr.com/2610/4148988872_990b6da667.jpg"> <img src="http://farm3.static.flickr.com/2597/4121218611_040cd7b3f2.jpg"> <img src="http://farm3.static.flickr.com/2531/4121218751_ac8bf49d5d.jpg"> </div>
Этот код хорошо работает с изображениями.Но я хочу показать разные заголовки для каждого изображения.
Мой код будет таким:
<div class="fadein"> <p><span>Caption 1</span><img src="http://farm3.static.flickr.com/2610/4148988872_990b6da667.jpg"></p> <p><span>Caption 2</span><img src="http://farm3.static.flickr.com/2597/4121218611_040cd7b3f2.jpg"></p> <p><span>Caption 3</span><img src="http://farm3.static.flickr.com/2531/4121218751_ac8bf49d5d.jpg"></p> </div>
Как изменить приведенный выше код JQuery, чтобы добиться постепенного исчезновения изображения вместе сподписи?
Я хочу показать заголовок поверх изображения.
JsFiddle текущего примера
http://jsfiddle.net/7VkrG/1/
JsFiddle ссылка с моим требуемым HTML-кодом
http://jsfiddle.net/twx9T/1/
Это похоже на то, что вы хотите (возможно, вам придется отредактировать CSS, чтобы заголовок отображался на ваш вкус).
HTML:
<div class="fadein"> <p><img src="http://farm3.static.flickr.com/2610/4148988872_990b6da667.jpg"><span>Caption 1</span> </p> <p><img src="http://farm3.static.flickr.com/2597/4121218611_040cd7b3f2.jpg"><span>Caption 2</span> </p> <p><img src="http://farm3.static.flickr.com/2531/4121218751_ac8bf49d5d.jpg"><span>Caption 3</span> </p> </div>
CSS:
body {font-family:Arial, Helvetica, sans-serif; font-size:12px;} .fadein { position:relative; height:332px; width:500px; } .fadein p { position:absolute; left:0; top:0; background-color:#fff; border:1px solid black; }
jQuery:
$(function() { $('.fadein p').hide(); $('.fadein p:first-child').show(); setInterval(function() { $('.fadein p:first-child').fadeOut(function(){ $(this).appendTo('.fadein'); }).next().fadeIn(); }, 3000); });
jsFiddle:
http://jsfiddle.net/sYhQC/