gpt4 book ai didi

JQUERY、CSS,当鼠标悬停在 LI 上时会在其中显示 SPAN 标签吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:40:39 26 4
gpt4 key购买 nike

鉴于以下情况:

ul li .main .meta {opacity:0;}

<ul>
<li> <span class="main">TITLE</span> <span class="meta">meta</span> </li>
<li> <span class="main">TITLE 2 </span> <span class="meta">meta</span> </li>
<li> <span class="main">TITLE 3</span> <span class="meta">meta</span> </li>
etc... long list...
</ul>

我可以做什么样的 JQUERY 魔术,以便每当用户将鼠标悬停在 LI 中的任何位置时,具有类 = META 的 SPAN 更改为不透明度:1,并且当用户将鼠标移离 LI 时,LI 的元回到不透明度:0,新 LI 的元数据变为不透明度 1。等等....

谢谢!

最佳答案

这里有几个问题。最简单的实现是:

$("li").hover(function() {
$(this).find("span.meta").stop().fadeIn();
}, function() {
$(this).find("span.meta").stop().fadeOut();
});

这会起作用。问题是 span 是内联元素并且 fadeIn()会将其更改为 block 级元素。

注意:stop()有一个好习惯要养成,否则如果您在同一个目标上快速发射多个动画,您可能会得到意想不到的效果。

你也可以用类来做到这一点:

$("li").hover(function() {
$(this).find("span.meta").removeClass("hidden");
}, function() {
$(this).find("span.meta").addClass("hidden");
});

与:

span.hidden { display: none; }

但是这样会失去淡入淡出效果。不过,它确实解决了 display: block 问题。

您也可以选择 animate() opacityopacity 在 IE 上并不真正受支持。参见 opacity :

IE compatibility note

If you want opacity to work in all IE versions, the order should be:

.opaque {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; // first!
filter: alpha(opacity=50); // second!
}

If you don’t use this order, IE8-as-IE7 doesn’t apply the opacity, although IE8 and a pure IE7 do.

这段代码看起来像这样:

$("li").hover(function() {
$(this).find("span.meta").stop().animate({opacity: 0.0});
}, function() {
$(this).find("span.meta").stop().animate({opacity: 1.0});
});

您必须回答的一个问题是:您希望“元”内容不被呈现还是不可见?这是有区别的。不被渲染就像 display: none。不可见就像 opacity: 0 一样,这可能会使用户感到困惑,因为文本仍然可以选择。

恕我直言,我认为您最好接受显示的 block 性质或改用工具提示(即使是丰富的工具提示)。

关于JQUERY、CSS,当鼠标悬停在 LI 上时会在其中显示 SPAN 标签吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2025375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com