我有两个div。我希望左边的div根据窗口大小自动隐藏和显示,即我希望它能够响应。手动切换DIV后,响应代码停止工作
另一方面,如果需要,我想手动隐藏/显示左边的div。我在中间加了一个黑色的分隔符。当点击分隔符时,左侧div隐藏,右侧div则占据整个宽度。
到目前为止,一切都很好。
但是。当我手动隐藏/显示左侧div时,停止对响应代码作出反应。
请检查这个JSFiddle,借给我一些帮助。
非常感谢。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<style>
.div1 {
background-color: #ffee99;
width: 300px;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
}
.separator {
border-left: 3px solid #000000;
border-right: 3px solid #000000;
width: 0px;
height: 100%;
position: absolute;
top: 0px;
left: 300px;
z-index: 100;
}
.div2 {
background-color: #99eeff;
width: calc(100% - 300px);
height: 100%;
position: absolute;
top: 0px;
left: 300px;
}
@media screen and (max-width: 500px) {
.div {
display: none;
}
.separator {
left: 0px;
}
.div2 {
width: 100%;
left: 0;
}
}
</style>
<script>
$(function() {
function hideLeftDiv() {
$('.div1').hide();
$('.div2').css('width', '100%').css('left', 0);
$('.separator').css('left', '0px');
}
function showLeftDiv() {
$('.div1').show();
$('.div2').css('width', 'calc(100% - 300px)').css('left', '300px');
$('.separator').css('left', '300px');
}
$('.separator').click(function() {
$('.div1').is(":visible") ? hideLeftDiv() : showLeftDiv();
});
});
</script>
</head>
<body>
<div class="div1"></div>
<div class="separator"></div>
<div class="div2"></div>
</body>
</html>
为什么你不使用引导? – Refilon 2014-10-29 10:25:03
因为我不知道我可以使用bootstrap。你能告诉我怎么样?非常感谢。 :) – joaorodr84 2014-10-29 10:42:15