我希望有一个按钮可以在单击时切换 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>
jsFiddle:https://jsfiddle.net/azizn/u5ms2ftu/
最佳答案
在我的情况下,该按钮似乎工作正常。甚至您共享的 jsFiddle 链接也能正常工作。单击 CLOSE MAP 按钮时,一个“closed”类被添加到侧边栏 div,甚至 max-height 属性也被添加到它。
我可以看到的视觉效果是,在单击“关闭 map ”按钮后,侧边栏完全消失,而在单击“打开 map ”时,它会完全出现。这是你想要的吗?或者你想让它的某些部分可见和不可见。?? 因为如果您希望它的某些部分变得可见和不可见,那么您不应该对整个类使用 slideToggle,因为它会使整个类消失或出现,无论最大高度或最小高度如何。
关于javascript - jQuery toggleClass 无法正常工作(关闭 div),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36963479/