jquery - 改变位置拉动元件

标签 jquery html css

我有两个并排的行内 block 元素。如果我要更改第二个的位置(右 -300 像素),第一个会保留并且不会被第二个拉动。

如果您正在单击 <div class="navigation"></div> <nav class="main-nav">得到 right: -300px;但是蓝色背景的第一个元素不会移动到右侧。

看看:FIDDLE

<section class="sidebar">
          <div class="navigation">
          </div><nav class="main-nav">
              <ul>
                  <li><a href="#"><span>Lorem</span></a></li>
                  <li><a href="#"><span>Lorem</span></a></li>
                  <li><a href="#"><span>Lorem</span></a></li>
                  <li><a href="#"><span>Lorem</span></a></li>
                  <li><a href="#"><span>Lorem</span></a></li>
              </ul>
          </nav>
      </section>

这是我用于切换类的 jQuery:

$( ".navigation" ).click(function() {
  $( ".main-nav" ).toggleClass( "open" );
});

.sidebar {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
}

.sidebar .navigation {
    height: 130px;
    width: 130px;
    background: #0077b4;
    position: relative;
    display: inline-block;
    cursor: pointer;
    float: left;
}

.main-nav {
    display: inline-block;
    position: relative;
    right: 0;
    transition: right 0.3s linear;
    -webkit-transition: right 0.3s ease;
    -moz-transition: right 0.3s ease;
    -o-transition: right 0.3s ease;
}

.main-nav.open {
    right: -300px;
}

.main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-nav ul li {
    float: left;
    height: 130px;
    width: 130px;
    background: #000;
    position: relative;
}

.main-nav ul li a {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.main-nav ul li span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    color: #fff;
}

我的问题:左边的蓝色元素应该移动到右侧“main-nav”被移动的右侧。

最佳答案

您还需要向导航 div 添加过渡和点击效果。查看更新后的 fiddle

HTML

<section class="sidebar">
    <div class="navwrap">
          <div class="navigation">
          </div><nav class="main-nav">
              <ul>
                  <li><a href="#"><span>Lorem</span></a></li>
                  <li><a href="#"><span>Lorem</span></a></li>
                  <li><a href="#"><span>Lorem</span></a></li>
                  <li><a href="#"><span>Lorem</span></a></li>
                  <li><a href="#"><span>Lorem</span></a></li>
              </ul>
          </nav>
    </div>
      </section>

CSS

 .sidebar {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
}

.sidebar .navigation {
    height: 130px;
    width: 130px;
    background: #0077b4;
    position: relative;
    display: inline-block;
    cursor: pointer;

}

.navwrap {
    display: inline-block;
    position: relative;
    right: 0;
    transition: right 0.3s ease;
    -webkit-transition: right 0.3s ease;
    -moz-transition: right 0.3s ease;
    -o-transition: right 0.3s ease;
}

.main-nav {
    display: inline-block;
    position: relative;
    right: 0;

}

.open {
    right: -300px;
}

.main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-nav ul li {
    float: left;
    height: 130px;
    width: 130px;
    background: #000;
    position: relative;
}

.main-nav ul li a {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.main-nav ul li span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    color: #fff;
}

JQuery

 $( ".navwrap" ).click(function() {
    $( this ).toggleClass( "open" );
});

关于jquery - 改变位置拉动元件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33554041/

相关文章:

javascript - Jquery 如何绑定(bind) .is() 和 .on() 事件

html - 从 HTML5 离线应用程序缓存中省略当前页面,但使用缓存资源

CSS:如何只有 100% 的流体布局和边框?

javascript - Bootstrap 下拉菜单居中对齐

jquery - 自定义滚动条内容中的 Div 无法正常工作

jquery - 动态更新 "title"属性

php - 通过 POST 将输入数组值发送到 php

javascript - 该值未插入到文本框中,它在两天前工作?

javascript - 如何在没有_空白页的情况下在新窗口中打开链接?

html - 即使使用内联 block ,图像也会强制向下列表