当前位置: 首页 > 知识库问答 >
问题:

创建切换按钮在div面板之间切换

穆展鹏
2023-03-14

我的web应用程序由各种面板和仪表板组成,仪表板上有访问每个面板的按钮。因此,每个按钮都是专用面板和主面板之间的切换。

例如,如果我们有3个面板,panel1是默认的一个,另外两个按钮用于在其他两个面板和默认面板之间切换:

按钮。面板2应在面板1和面板2之间切换

按钮。面板3应在面板1和面板3之间切换

我几乎已经实现了,但是我的代码显示了panel2和panel3重叠。

$(function () {
  $(".panel2").on("click", function() {
    var visibleObj = $('.mainSection div:visible');
    var inVisibleObj = $('.mainSection div:hidden');
    visibleObj.fadeOut(500, function() {
      inVisibleObj.fadeIn(500);
    });
  });
  $(".panel3").on("click", function() {
    var visibleObj = $('.mainSection div:visible');
    var inVisibleObj = $('.mainSection div:hidden');
    visibleObj.fadeOut(500, function() {
      inVisibleObj.fadeIn(500);
    });
  });
});
div.app {
  margin:50px auto;
  width: 400px;
  height: 400px;
  border-radius:10px;
  overflow: hidden;
  position: relative;
}
div.app > .blur {
  width: 100%;
  height: 100%;
  background: url(http://goo.gl/0VTd9W);
  -webkit-filter: blur(5px);
}
div.mainSection, div.dashboard{
  position: absolute;
  left: 0px;
  text-align:center;
  color:#fff;
  font-size:20px;
}
div.mainSection{
  width:100%;
  height:85%;
  background:rgba(0,0,0,0.5);
  top:0;
}
div.dashboard{
  width:100%;
  height:15%;
  background:rgba(255,0,0,0.5);
  bottom:0;
}
div.mainSection > .panel1,
div.mainSection > .panel2,
div.mainSection > .panel3 {
  width: 100%;
  Height: 100%;
  Background: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0px;
  top: 0px;
}
div.mainSection > .panel3 > p{
  margin-top:80px;
}

.grid-button {
  background: none;
  border: none;
  padding: 3px;
  width: 100%;
}

.grid {
  display: inline-block;
  height: 4px;
  position: relative;
  width: 32px;
  transition: all 0.3s ease-in-out;
}
.grid:after, .grid:before {
  content: '';
  position: absolute;
  background-color: #FFF;
  display: inline-block;
  height: 4px;
  left: 0;
  width: 32px;
  transition: all 0.3s ease-in-out;
}

.grid.open {
  background-color: #FFF;
}
.grid.open:after {
  top: 10px;
}
.grid.open:before {
  top: -10px;
}

.grid.close {
  background-color: transparent;
  transform: scale(0.9);
}
.grid.close:after, .grid.close:before {
  top: 0;
  transform-origin: 50% 50%;
}
.grid.close:before {
  transform: rotate(135deg);
}
.grid.close:after {
  transform: rotate(45deg);
}
html lang-html prettyprint-override"><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="app">
    <div class="blur"></div>
    <div class="mainSection">
        <div class="panel1">Panel1</div>
        <div class="panel2" style="display: none;">Panel2</div>
        <div class="panel3" style="display: none;"><p>Panel3</p></div>
    </div>
    <div class="dashboard">
        <button class="panel2">button1</button>
        <button class="panel3">button2</button>
    </div>
</div>

所以我想让按钮1负责在面板1和面板2之间切换。和按钮2在面板1和3之间切换。

知道怎么做吗?

共有2个答案

周越泽
2023-03-14

这个怎么样?https://jsfiddle.net/oez0488h/53/

$("button.panel2").on("click", function() {
    var visibleObj = $('.mainSection div:visible');
    if ($("div.panel2").css("display") == "none") {
        var inVisibleObj = $("div.panel2")
    }
    else {
        var inVisibleObj = $("div.panel1")
    }
    visibleObj.fadeOut(500, function() {
        inVisibleObj.fadeIn(500);
    })
});

$("button.panel3").on("click", function() {
    var visibleObj = $('.mainSection div:visible');
    if ($("div.panel3").css("display") == "none") {
        var inVisibleObj = $("div.panel3")
    }
    else {
        var inVisibleObj = $("div.panel1")
    }
    visibleObj.fadeOut(500, function() {
        inVisibleObj.fadeIn(500);
    })
});
全兴运
2023-03-14

我想你需要这样的东西。只是这些jQuery代码将是有用的。

var currentPanel = 1;

$('.panelControlBtn').on("click", function() {
  var ID = $(this).attr('data-id');
  if (ID != currentPanel) {
    $(".panel").fadeOut('fast', function() {
      $("#panel" + ID).fadeIn('fast');
    });
    currentPanel = ID;
  }



});
 类似资料:
  • 问题内容: 我想使用CSS在html中创建一个切换按钮。我想要它,以便当您单击它时,它保持推入状态,而不是再次单击时它弹出。 如果没有办法仅使用CSS。有没有办法使用jQuery? 问题答案: 良好的语义方式是使用复选框,然后如果未选中,则以不同的方式设置其样式。但是没有好的方法可以做到这一点。您必须添加额外的跨度,额外的div,并且要真正看起来不错,请添加一些javascript。 因此最好的解

  • 我想做一个现代的图形用户界面,左边有标签,如图所示: 有什么想法,我如何让面板在不处理写入/设置的数据的情况下进行切换,例如进入文本字段、文本区域、复选框、滚动条等? 我本来想删除旧的一个面板,并添加另一个面板,但当我点击面板之前,我访问的控制数据将被重置,我认为它会闪烁。

  • 主要内容:创建切换按钮,切换按钮组,ToggleButton行为,样式切换按钮切换按钮具有两种状态:选择或未选择。 我们通常将两个或多个切换按钮组合成一个组,并允许用户只选择一个按钮或不选择。 创建切换按钮 我们可以使用类的三个构造函数创建一个切换按钮。要创建没有任何字幕或图标的切换按钮。 要创建带有文字说明的切换按钮 要创建带有文字说明和图标的切换按钮。 方法可以将文本设置为,以及方法可以将图像安装到。 切换按钮组 切换组不强制选择至少一个按钮。单击所选的切换按钮可取消选

  • 我试图通过在扬声器和耳机之间切换按钮来播放音频。问题是,我试图将音频默认为从耳机播放,但没有结果。然后,当我按下按钮切换到扬声器时,仍然没有音频播放。我从本地原始文件播放。 我在显明书中也有android.permission.MODIFY_AUDIO_SETTINGS。 以下是我的代码: 以下是我设置 MediaPlayer 的方式:

  • 问题内容: 希望这是一个简单的问题。我有一个我想用按钮切换隐藏/显示 问题答案: 看一下jQuery Toggle HTML: jQuery的: 对于jQuery 1.7及更高版本

  • 问题内容: 应用程序可以在四种不同的设备上正常运行。但是客户端在 Xperia z2 上的闪光按钮ON / OFF上面临崩溃。 主要活动 相机预览 崩溃报告。 问题答案: 应muku的要求。我自己回答。用于切换闪光灯 FlashOn和FlashOff方法是