首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Javascript制作悬停效果以显示div中的元素

如何使用Javascript制作悬停效果以显示div中的元素
EN

Stack Overflow用户
提问于 2015-10-01 04:34:15
回答 3查看 116关注 0票数 0

所以我是javascript的新手,我一直在尝试编写一个程序来改变div的不透明度,并显示它隐藏的'p‘元素。但是,当我将appear.How悬停在另一个div div中隐藏的'p‘元素时,我是否使'p’元素只在悬停的div中显示?请提出任何建议/建议,我们将不胜感激。谢谢

HTML

代码语言:javascript
运行
复制
<div class = "description">
    <a><img src="image.jpg" height = 330px width = 220px></a>
    <p class = "word"> image description</p>
</div>
<div class = "description">
    <a><img src="image.jpg" height = 330px width = 220px></a>
    <p class = "word"> image description</p>
</div>

Javascript

代码语言:javascript
运行
复制
$(document).ready(function(){
 $('.word').hide();
 $('.description').hover(function(){

     $(this).fadeTo('fast',0.6);
     $('.word').show();
 });

 $('.description').mouseleave(function(){

     $('.description').fadeTo('fast',1);
     $('.word').hide();
 }); 
});  
EN

回答 3

Stack Overflow用户

发布于 2015-10-01 04:45:52

您希望查找该特定div中的.word元素,因此可以使用$(this).find()

代码语言:javascript
运行
复制
$(document).ready(function(){
 $('.word').hide();
 $('.description').hover(function(){

     $(this).fadeTo('fast',0.6);
     $(this).find('.word').show();
 });

 $('.description').mouseleave(function(){

     $(this).fadeTo('fast',1);
     $(this).find('.word').hide();
 }); 
});  

或者更简洁地说

代码语言:javascript
运行
复制
$(document).ready(function(){
 $('.word').hide();
 $('.description').hover(function(){
     $(this).fadeTo('fast',0.6).find('.word').show();
 }).mouseleave(function(){
     $(this).fadeTo('fast',1).find('.word').hide();
 }); 
});  

而且你的img标签也是错误的。你是说<img src="image.jpg" style="height: 330px; width: 220px">

票数 2
EN

Stack Overflow用户

发布于 2015-10-01 04:48:05

在这两种情况下,您都希望获得$(this)的子元素p.word

代码语言:javascript
运行
复制
$(document).ready(function () {
    $('.word').hide();
    $('.description').hover(function () {
        $(this).fadeTo('fast', 0.6);
        $(this).find('p.words').show();
    });

    $('.description').mouseleave(function () {

        $(this).fadeTo('fast', 1);
        $(this).find('p.words').hide();
    });
});

请记住,如果.words的css是visibility : hidden而不是display : none,则需要将.show().hide()更改为:

代码语言:javascript
运行
复制
// show
$(this).find('p.words').css('visibility', 'visible');
// hide
$(this).find('p.words').css('visibility', 'hidden');

工作示例:

代码语言:javascript
运行
复制
$(document).ready(function () {
    $('.word').hide();
    $('.description').hover(function () {
        $(this).fadeTo('fast', 0.6);
       	$(this).find('p.words').show();
    });

    $('.description').mouseleave(function () {

        $(this).fadeTo('fast', 1);
        $(this).find('p.words').hide();
    });
});
代码语言:javascript
运行
复制
.words{
    display: none;
}
.description{
    padding: 20px;
    border: solid 2px steelblue;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="description">
    <p class="words">image description</p>
</div>
<div class="description">
    <p class="words">image description</p>
</div>
<div class="description">
    <p class="words">image description</p>
</div>
<div class="description">
    <p class="words">image description</p>
</div>
<div class="description">
    <p class="words">image description</p>
</div>

票数 0
EN

Stack Overflow用户

发布于 2015-10-01 04:36:02

您必须使用:$( '.description > .word ')来获取子级。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32875129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档