2010-09-17 85 views
0

我有几个.box div包括短文本(<p>)和缩略图。我试图改变.box div中的文本的不透明度,当.box的任何部分被徘徊时,但我不希望图像受到影响。到目前为止,我有这个:更改div不透明度排除一些div内容 - jQuery

jQuery(document).ready(function(){ 
$(".box").fadeTo("fast", 0.6); 

$(".box").hover(function(){ 
$(this).fadeTo("fast", 1.0); 
},function(){ 
$(this).fadeTo("fast", 0.6); 
}); 
}); 

我知道它一定很简单,但我卡住了。感谢帮助。

回答

0

使用.find()得到公正的<p>内申请褪色到,像这样:

jQuery(function(){ 
    $(".box p").fadeTo("fast", 0.6); 

    $(".box").hover(function(){ 
    $(this).find("p").fadeTo("fast", 1.0); 
    },function(){ 
    $(this).find("p").fadeTo("fast", 0.6); 
    }); 
}); 

这使用$(".box p")只有最初褪色<p>元素,那么在悬停(对于整个盒子),我们在里面找到了相同的<p>元素。如果你做了$(".box p").hover(...)只徘徊在<p>本身将工作。

+0

太棒了!这是完美的。这正是我一直在寻找的。谢谢! – ntlk 2010-09-20 08:56:31

1

用户$(".box p")选择

+0

这是非常简单而优雅的,不幸的是它只有当你将鼠标悬停在P区的工作。 – ntlk 2010-09-20 08:57:47

0

您可以将缩略图图像放置在想要淡入淡出的框中,或使用更精确的选择器(如$('。box p'))。取决于你想让盒子装饰本身淡化,还是仅仅是文本。

这也可能工作:

<div class="container"> 
    <img id="thumbnail" src="" style="float: left; /* or position abosolute"/> 
    <div id="box"> 
     <p>text</p> 
    </div> 
</div> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     // $('.box p').fadeIn('fast'); 
     // or: 
     $('.box').fadeIn('fast'); 
    }); 
</script>