如何仅在鼠标悬停时显示文本

Posted

技术标签:

【中文标题】如何仅在鼠标悬停时显示文本【英文标题】:How can display text only when mouse over 【发布时间】:2016-05-17 07:25:47 【问题描述】:

我有这个样本:

link

编码 HTML:

SED 潜伏期

Sed ut perspiciatis unde omnis iste natus 错误坐 voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illoinvente veritatis et quasi architecto beatae vitae dicta sunt 解说。

<div class="col-md-4 tab-bottom">
    <div class="tab-bottom-img"><img   src="http://dg-design.ch/bagel/wp-content/uploads/2016/02/1-380x380.png" class="attachment-news wp-post-image" > </div>
    <div class="tab-bottom-content">
        <div>
            <p class="title_bottom">SED PERSPICIATIS</p>
            <p class="content_bottom"></p><p>
                Sed ut perspiciatis unde omnis iste natus error sit<br>
                voluptatem accusantium doloremque laudantium,<br>
                totam rem aperiam, eaque ipsa quae ab illo inventore<br>
                veritatis et quasi architecto beatae vitae dicta sunt<br>
                explicabo.
            </p>
            <p></p>
        </div>
    </div>
</div>
<div class="col-md-4 tab-bottom">
    <div class="tab-bottom-img"><img   src="http://dg-design.ch/bagel/wp-content/uploads/2016/02/1-380x380.png" class="attachment-news wp-post-image" > </div>
    <div class="tab-bottom-content">
        <div>
            <p class="title_bottom">SED PERSPICIATIS</p>
            <p class="content_bottom"></p><p>
                Sed ut perspiciatis unde omnis iste natus error sit<br>
                voluptatem accusantium doloremque laudantium,<br>
                totam rem aperiam, eaque ipsa quae ab illo inventore<br>
                veritatis et quasi architecto beatae vitae dicta sunt<br>
                explicabo.
            </p>
            <p></p>
        </div>
    </div>
</div>

代码 CSS:

.col-md-4 
    width: 33.33333333%;

.tab-bottom 
    position: relative;
    height: 400px;
    float:left;

.tab-bottom-img 
    width: 100%;
    position: absolute;
    top: 50%;
    height: 100%;
    left: 50%;
    transform: translate(-50%, -50%);

.tab-bottom-content 
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

代码 JS:

$(".tab-bottom").bind('mouseover',function(event)
    $(this).find("tab-bottom-content").css("display", "block");
);
$('.tab-bottom-img').bind('mouseleave', function(e) 

);

我希望 div tab-bottom-content 中的文本仅在鼠标悬停时显示。

我尝试使用上面的脚本但不幸的是不起作用

你能帮我解决这个问题吗?

提前致谢!

【问题讨论】:

你的代码笔是空的。 对不起,现在好了 【参考方案1】:

我会改用 CSS 来解决这个问题。

喜欢这个fiddle

示例 html

<div class=tab-bottom>
  <div class=tab-bottom-content>
     Test
   </div>
</div>

CSS:

.tab-bottom
  border: 1px SOLID #F00; /* For display purpose */
  width: 200px;
  height: 200px;


.tab-bottom.tab-bottom-content
  display: none;

.tab-bottom:hover .tab-bottom-content
  display: block;

这里不需要 javascript 或 jQuery :)

【讨论】:

【参考方案2】:

您最初应该使用display: none 隐藏.tab-bottom-content,如下所示。

.tab-bottom-content 
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none

并使用下面的 jQuery。你错过了tab-bottom-content之前的.

$(".tab-bottom").mouseover(function(event)
    $(this).find(".tab-bottom-content").show(300);
).mouseleave(function(e) 
    $(this).find(".tab-bottom-content").hide(300);
);

【讨论】:

【参考方案3】:

你需要'.'在这个 .find("tab-bottom-content")

$(".tab-bottom").on('mouseover',function(event)
    $(this).find(".tab-bottom-content").show(300);
);
$('.tab-bottom').on('mouseleave', function(e) 
    $(this).find(".tab-bottom-content").hide(300);
);

Here is the pen

您还必须添加 CSS

.tab-bottom-content 
    display:none;
 

或内联样式先隐藏“tab-bottom-content”内容

【讨论】:

【参考方案4】:

您可以将tab-bottom-content 的不透明度设置为0,然后在其:hover 伪选择器类中将其更改为1,以便在您将鼠标悬停在tab-bottom-content div 上时显示文本。您甚至可能想要添加一个transition 以便不透明度平滑地变化。这样做,

.tab-bottom-content 
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid black;
  opacity: 0;
  transition: opacity .4s ease-in;


.tab-bottom-content:hover 
  opacity: 1

看看https://jsfiddle.net/5s1fv2a9/

【讨论】:

以上是关于如何仅在鼠标悬停时显示文本的主要内容,如果未能解决你的问题,请参考以下文章

仅在鼠标悬停 div 时显示滚动条

Ext JS 网格面板:如何在鼠标悬停时显示内容

仅在悬停时显示按钮

在 img 鼠标悬停时显示 div (jquery)

Vue JS - 如何更改鼠标悬停时显示的组件的位置

如何在鼠标悬停时显示隐藏的 div?