【发布时间】:2014-07-17 06:37:38
【问题描述】:
使用 jquery show/hide 显示我的 display:none; 隐藏内容时遇到问题。当我显示隐藏内容时,它会进入我的页脚,因为我的 position:relative; 父 .wrapper 不知道 position:absolute; 子 #learninfo #promoteinfo``#networkinfo #performinfo 的高度。当屏幕显示较大时(如 macbook pro 的正常窗口大小),这没问题,但屏幕越小,进入我的页脚的文本越多,如果文本超过<footer>,甚至在下面。我正在使用的代码是(我确实使用了一些基础 + SASS)
HTML
<ul class="idm-mission">
<h2>
<li id="learn">LEARN</li>
<li> | </li>
<li id="promote">PROMOTE</li>
<li> | </li>
<li id="network">NETWORK</li>
<li> | </li>
<li id="perform">PERFORM</li>
</h2>
</ul>
<div class="wrapper">
<div id="learninfo">
<div class="row">
<div class="large-12 columns">
<p></p>
</div>
</div>
</div>
<div id="promoteinfo">
<div class="row">
<div class="large-12 columns">
<p></p>
</div>
</div>
</div>
<div id="networkinfo">
<div class="row">
<div class="large-12 columns">
<p></p>
</div>
</div>
</div>
<div id="performinfo">
<div class="row">
<div class="large-12 columns">
<p></p>
</div>
</div>
</div>
</div>
<!-- End of content -->
<!-- footer html below -->
<footer>
</footer>
CSS
.wrapper {
position: relative;
padding-bottom: 50px;
}
#learninfo,#promoteinfo,#networkinfo,#performinfo {
display: none;
position: absolute;
color: #fcb702;
width: 100%;
}
#learn:hover,#promote:hover,#network:hover,#perform:hover {
color: $primary-color;
}
footer {
color: #fff;
padding: 10px 0;
margin-top: rem-calc(100px);
text-align: left;
}
jQuerY
// Learn information display
$("#learn").hover(function (e) {
//This funciton defines what happens on mouse-in or ho
$("#learninfo").show();
}, function (e) {
//This function defines what happens on mouse-out or when the hover is over.
$("#learninfo").hide();
});
// Promote information display
$("#promote").hover(function (e) {
//This funciton defines what happens on mouse-in or ho
$("#promoteinfo").show();
}, function (e) {
//This function defines what happens on mouse-out or when the hover is over.
$("#promoteinfo").hide();
});
// Network information display
$("#network").hover(function (e) {
//This funciton defines what happens on mouse-in or ho
$("#networkinfo").show();
}, function (e) {
//This function defines what happens on mouse-out or when the hover is over.
$("#networkinfo").hide();
});
// Perform information display
$("#perform").hover(function (e) {
//This funciton defines what happens on mouse-in or ho
$("#performinfo").show();
}, function (e) {
//This function defines what happens on mouse-out or when the hover is over.
$("#performinfo").hide();
});
【问题讨论】:
-
您能否将问题的工作示例放入jsfiddle.net。任何像这样的 UI 问题都很难在没有看到问题的情况下诊断出来。
-
您也可以使用
.toggle('selector')使元素显示/隐藏 -
jsfiddle.net/YqBbm 虽然我不知道如何准备好 jQuerY 文档,因为我总是使用 $.foundation 这是同一件事,但它在 jfiddle 中不起作用,因为基础不是现在,如果您告诉我如何编辑 $.ready 以使其正常工作,我会这样做,以便您可以看到我的工作方式。
-
学习了如何在基础之外正确添加 ready 语句,以便您可以看到问题所在。jsfiddle.net/YqBbm/1
标签: javascript jquery html css zurb-foundation