我希望有一个按钮可以在点击时切换div(侧边栏)类。通过将max-height
设置为130px
,该类应关闭侧边栏。
这是我到目前为止所尝试的但是由于某种原因它不适合我:
jQuery(document).ready(function() {
$('.close_sidebar').click(function() {
$('.sidebar').slideToggle("slow");
$('.sidebar').toggleClass('closed');
if ($('.sidebar').hasClass('closed')) {
$('.close_sidebar_text').text('OPEN MAP');
} else {
$('.close_sidebar_text').text('CLOSE MAP');
}
});
});

#map-canvas {
clear: both;
width: 100%;
height: 600px;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
margin: 0 auto;
}
.closed {
max-height: 130px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="close_sidebar" style="border-style:solid; width:70px; height:25px; margin:-5px 0px 0px 647px; cursor:pointer; padding:5px;">
<div class="close_sidebar_text" style="color:#000; border-style:none; margin:-7px 0px 0px 0px; font-size:12px; font-family: Agency FB;">
OPEN MAP
</div>
</div>
<div class="sidebar" style="border-style:none; margin:0px auto 0px; ">
<div class="searchform" style="color:#000; position:absolute; z-index:1; margin:120px 0px 0px 0px; border-style:none; width:180px; height:200px;">
<form action="" method="post" id="search">
<br>
<select class="selmenu" id="city" name="city" style="border-style:solid; margin:0px 0px 0px 20px;">
<option value="Novi Sad">Novi Sad</option>
<option value="Belgrade">Belgrade</option>
<option value="Singapore">Singapore</option>
</select>
<br>
<input class="txtinput" id="minPrice" name="minPrice" placeholder="Min Price" style=" margin:10px 0px 5px 20px;" type="text">
<br>
<input class="txtinput" id="maxPrice" name="maxPrice" placeholder="Max Price" style=" margin:10px 0px 5px 20px;" type="text">
<br>
<label for="slika" style="margin:0px 0px 0px 21px; font-size:14px; font-family: Agency FB;">Onlysearch ads with picture</label>
<input id="slika" name="slika" style=" margin:0px 0px 0px 5px;" type="checkbox">
<br>
<input class="submitbtn" style="margin:5px 0px 10px 20px;" type="submit" value="Search">
</form>
</div>
<div id="searchbar">
<section class="webdesigntuts-workshop">
<form action="searchpage.php" method="post">
<input placeholder="Search..." type="search">
<button>Search</button>
</form>
</section>
</div>
<div id="map-canvas"></div>
</div>
&#13;
jsFiddle:https://jsfiddle.net/azizn/u5ms2ftu/
答案 0 :(得分:0)
按钮似乎在我的情况下正常工作。即使您分享的jsFiddle链接也能正常工作。点击关闭地图按钮,一个班级&#34;关闭&#34;正在添加到侧边栏div,甚至添加了max-height属性。
我可以看到的视觉效果是,在单击“关闭地图”按钮后,侧边栏完全消失,单击“打开地图”时,它完全显示。这是你想要的吗?或者你想要它的某些部分是可见的和不可见的。 因为如果你想让它的某些部分变得可见和不可见,那么你就不应该使用slideToggle作为完整的类,因为无论最大高度还是最小高度,它都会使整个类消失或出现。
答案 1 :(得分:0)
您需要添加以下内容才能发挥作用:
.closed {
overflow: hidden;
...
}