【发布时间】:2016-06-16 08:44:15
【问题描述】:
我确信这个问题之前已经回答过了,但我不知道在哪里可以找到它,也不知道如何准确地表达这个问题。但基本上,我正在为 tumblr 主题创建一个更新选项卡,我很好奇如何在将鼠标悬停在父 div 上时使 div 平滑过渡,如果这有意义的话。
基本上,当我将鼠标悬停在选项卡上时,我希望 div 能够顺利过渡,就像我单击更新选项卡 in my blog 中的选项卡时一样。但是这个标签是使用一个教程创建的,该教程使用 jquery 代码来创建平滑的打开效果,我自己对 jquery 或 javascript 一无所知。
我大致了解如何仅在使用 display:none 和 display:block 将鼠标悬停在父元素上时显示 div... 但是它不能顺利过渡,正如我所读到的,CSS 没有办法做到这一点。
我也尝试过使用高度和不透明度,但虽然它有点平滑,但在处理我试图显示和隐藏的 div 的文本和边框时,这是一个相当混乱的过渡。
基本上,我要问的是如何在我的博客更新选项卡中创建相同的效果,该选项卡在单击选项卡时打开和关闭,但使用悬停而不是单击。我希望 div 在我将鼠标悬停在选项卡上时显示,以及当我的鼠标在包含的 div 内时显示,但是一旦我的鼠标离开选项卡就关闭。抱歉,如果这听起来令人困惑。
这是 CSS:
#tab{
margin:auto;
}
.tab{
margin-top:0px;
margin-bottom:2px;
margin-left:-5px;
margin-right:-5px;
padding:7px;
border:1px solid #000000;
text-align:center;
}
#tab:hover .contents{
display:block;
}
.contents{
display:none;
margin-top:3px;
margin-bottom:3px;
margin-left:10px;
margin-right:10px;
padding:5px;
border:1px solid #000000;
text-align:center;
font-size:11px;
}
这是该 CSS 的 HTML:
<div id="tab">
<div class="tab">Tab</div>
<div class="contents">
Tab Contents.
</div>
</div>
Jquery/ 还是 javascript?来自我博客更新选项卡中的教程:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(".inside").hide();
$(".label").click(function(){
$(this).next(".inside").slideToggle('slow');
});
});
</script>
【问题讨论】:
-
你能把教程中的javascript贴出来吗?
-
它实际上可能是 javascript.. 抱歉,我对两者都不太了解,所以我很难分辨出其中的区别.. 但我已将教程中给出的代码添加到我的原帖。
-
.label 本质上是我正在处理的项目中的 .tab,而 .inside 是为这个项目重命名的 .contents。但是,我的教程没有包含 #tab。
标签: javascript jquery html css