我有2个视图,一个是地图视图,一个是餐馆的网格视图。我有一个切换它们之间切换。它们都在身体里。我有一个javascript函数可以在它们之间切换
$(function() {
$('#map-toggle').change(function(){
if ($(this).prop('checked')){
document.getElementById("restaurants").style.height = "0%";
document.getElementById("restaurants").style.width = "0%";
document.getElementById("map").style.height = "100%";
document.getElementById("map").style.width = "100%";
getLocation(true);
}else{
document.getElementById("map").style.height = "0%";
document.getElementById("map").style.width = "0%";
document.getElementById("restaurants").style.height = "100%";
document.getElementById("restaurants").style.width = "100%";
}
})
})
地图工作正常,但切换到地图视图时网格视图不会消失。网格视图位于正文中的地图视图之前。有谁知道如何解决这个问题?
答案 0 :(得分:4)
Jquery有hide()
和show()
方法:
$(function() {
$('#map-toggle').change(function(){
if ($(this).prop('checked')){
$('#restaurants').hide();
$('#map').show();
getLocation(true);
}else{
$('#map').hide();
$('#restaurants').show();
}
})})
jQuery Effects - Hide and Show
希望这有帮助。
答案 1 :(得分:1)
您可以使用toggleClass()
或toggle()
隐藏和显示元素
$(function() {
$('#map-toggle').click(function() {
$("#restaurant").toggleClass('hide')
$("#map").toggleClass('hide')
});
})
class="hide"
可以是任何东西,可以有任何样式
或
$(function() {
$('#map-toggle').click(function() {
$("#restaurant, #map").toggle();
});
})
选中此JSFiddle