使用jquery创建按钮捕捉

时间:2015-08-02 02:29:29

标签: php jquery css

我屏幕左侧有一排按钮

按钮按钮按钮

当按下其中一个按钮时,我希望它们以这种缓慢移动的方式对齐屏幕右侧,反之亦然

按钮按钮----> -------------> ---------> -----> ----- --->按钮

到目前为止,这是我的jquery代码

 $( ".nav-submenu-item" ).on('click',function() {
        $(this).animate({ 
            left: '90%'
          }, 500);
        $(this).animate({ 
            left: '0px'
          }, 1).delay(0).queue(function (next) {
            $(this).css("display","none");
    $(this).next().css("display","inline-block");
            next();
        });
    });

    $( ".nav-submenu-item-clicked" ).on('click',function() {
        $(this).animate({ 
            left: '-700px'
          }, 500);
        $(this).animate({ 
            left: '0px'
          }, 1).delay(0).queue(function (next) {
            $(this).css("display","none");
    $(this).prev().css("display","inline-block");
            next();
        });
    });

我的css

.nav-submenu-item{position:relative; vertical-align:top; display:inline-block; font-size:.8em; color:#eaeaea; height:auto; width:auto; float:left; margin-left:15px; margin-top:10px; text-align:left; line-height:30px; font-weight:bold;}

.nav-submenu-item-clicked{display:none; vertical-align:top; font-size:.8em; color:#eaeaea; height:auto; width:auto; float:right; margin-left:15px; margin-top:10px; line-height:30px; font-weight:bold;}

我的php看起来像这样

<div class="nav-submenu-item">
    <div class="nav-submenu-icon">button</div>
</div>

<div class="nav-submenu-item-clicked">
    <div class="nav-submenu-icon">button</div>
</div>

我对此代码的问题是 1)它不干净,动画也不干净 2)动画只能从左到右,而不是从右到左 3)它从左向右移动的数量不正确,因为它是一个固定值,显然当一个按钮向右按住或一个按钮位置向左移动时,它应相应调整

我真的希望在Jquery中有一个更简单的方法来做这个,但是我已经查看了大量的文档,并试图谷歌一个答案而无法找到任何东西:(

1 个答案:

答案 0 :(得分:0)

如果你想要动画,你需要(margin-right)设置为你的css中的值。它只能以一种方式工作,因为你只在你的css中定义了(margin-left)。

希望这有帮助。