jquery内嵌图像淡入淡出以及<span> </span>中的标题

时间:2011-03-09 05:49:47

标签: javascript jquery css xhtml

我正在使用此代码进行淡入淡出图像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/

1 个答案:

答案 0 :(得分:2)

这似乎可以满足您的需求(您可能需要编辑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/