如何使用jquery显示图像的标题

时间:2010-11-21 20:25:15

标签: jquery

我想这样做:当鼠标悬停在一张图片上时,显示其标题。我使用下面的代码,当我悬停图片时,显示所有图片的标题。如何更改代码以仅显示一个标题?

<script type="text/javascript">       
        $(function() {
            $('.image').each(function() {
                $(this).hover(
                    function() {
                        $('.title').animate({ opacity: 1 })
                    },
                    function() {
                       $('.title').stop().animate({ opacity: 0});
                   })
                });
        });
</script>

<div class="image"><img src="img1" /><p class="title">text1</p></div>
<div class="image"><img src="img2" /><p class="title">text2</p></div>
<div class="image"><img src="img3" /><p class="title">text3</p></div>

2 个答案:

答案 0 :(得分:9)

尝试将此$('.title')更改为$('.title', this)

请参阅:http://api.jquery.com/jQuery/

答案 1 :(得分:0)

我的jQuery上有点生疏,但这对你有用吗?

<script type="text/javascript">       
  $(document).ready(function()
  {
    $('.image').hover(function()
      {
        $(this).search('p.title:eq(0)').stop().animate({opacity: 1});
      }, function() {
        $(this).search('p.title:eq(0)').stop().animate({opacity: 0});
      });
    });
  });
</script>

<div class="image"><img src="img1" /><p class="title">text1</p></div>
<div class="image"><img src="img2" /><p class="title">text2</p></div>
<div class="image"><img src="img3" /><p class="title">text3</p></div>

这是因为您正在调用所有 .title元素进行动画处理。您必须在与图像相同的.title内找到<div>元素。


实际上,丹尼尔的答案看起来更好: