【问题标题】:jquery inline images fade-in fade-out along with caption in <span>jquery 内联图像淡入淡出以及 <span> 中的标题
【发布时间】:2011-03-09 14:35:31
【问题描述】:

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

带有我所需 html 代码的 JsFiddle 链接

http://jsfiddle.net/twx9T/1/

【问题讨论】:

  • 你试过.append('&lt;p&gt;&lt;span&gt;Caption +i+&lt;/span&gt;').prepend('&lt;/p&gt;')
  • 他当然不是那个意思。

标签: javascript jquery css xhtml


【解决方案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/

【讨论】:

  • 我想出了几乎相同的东西jsfiddle.net/twx9T/15 也用 CSS 设置了标题
  • 感谢@Bryan Ross 和@mdmullinax。我还有一个问题。我想把文字放在图片上,不使用&lt;span&gt;可以吗?
  • 除非你把图片设为背景
猜你喜欢
  • 1970-01-01
  • 2013-10-01
  • 2012-05-15
  • 2011-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
相关资源
最近更新 更多