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

时间:2015-12-30 21:37:23

标签: javascript jquery html css

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

例如,如果我们有3个面板,则panel1是默认面板,两个按钮在其他两个面板之间切换默认面板:

button.panel2应在panel1和panel2之间切换

button.panel3应在panel1和panel3之间切换

我几乎已经实现了它,但是我的代码显示了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);
}
<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>

所以我想让button1负责在面板1和2之间切换,而button2则在面板1和3之间切换。

知道该怎么做吗?

2 个答案:

答案 0 :(得分:2)

我认为你需要像this这样的东西。只是这些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;
  }



});

答案 1 :(得分:1)

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

<html>
    <table style="width:4.0in; border:0; table-layout: fixed">
        <tr>
            <td colspan="3" style="vertical-align: top;"> Result : </td>
            <td colspan="5">DESCRIPTION_I1<br>DESCRIPTION_I2<br></td>
        </tr>
    </table>
</html