在html中切换视图

时间:2018-03-06 17:49:55

标签: javascript html css

我有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%";
        }
    })
})

地图工作正常,但切换到地图视图时网格视图不会消失。网格视图位于正文中的地图视图之前。有谁知道如何解决这个问题?

2 个答案:

答案 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