jquery滑动侧边栏从左到右

标签 jquery html sidebar slidetoggle

我正在尝试创建一个效果类似于

的滑动侧边栏
  1. www.wookmark.com
  2. http://www.dynamicdrive.com/dynamicindex1/slideinmenu.htm .

这就是我编写代码的程度。但这是生涩的。

  1. 谁能提出更好的动画/缓动/切换等解决方案
  2. 我希望代码独立于左参数,即 $("#slide").css("left", "-150px"); 它应该能够以各种 div 宽度滑入/滑出

有什么想法吗?

CSS

#slide{
border:1.5px solid black;
position:absolute;
top:0;
left:0;
width:150px;
height:100%;
background-color:#F2F2F2;
layer-background-color:#F2F2F2;
}

HTML

<div id="slide" style="left: -150px; top: 0px; width: 160px;">
    <p>Something here</p>
</div>

Jquery

<script>
    jQuery(document).ready(function() {
        $('#slide').mouseover(function() {
            $("#slide").css("left", "0px");
        });

        $('#slide').mouseout(function() {
            $("#slide").css("left", "-150px");
        });

    });
 </script>

最佳答案

你需要animate()方法-

var width = $('#slide').width() - 10;
$('#slide').hover(function () {
     $(this).stop().animate({left:"0px"},500);     
   },function () {          
     $(this).stop().animate({left: - width  },500);     
});

这里我之前添加了.stop()。这将清除由于快速移动鼠标而建立的动画队列。

DEMO

关于jquery滑动侧边栏从左到右,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15745240/

相关文章:

javascript - jQuery "on click"不适用于 ios/safari

jquery - 如何使用 JQuery shake 垂直摇动 div

html - 如何计算 <body> 标签中标题的高度?

jquery - 如何在不使用固定位置的情况下让元素捕捉到屏幕底部

html - html 元标记的顺序重要吗?

memory-leaks - 如何识别、修复、关闭Windows Sidebar小工具中的内存泄漏?

Javascript 程序无法正确执行

javascript - 函数如何获取 'x' 值

html - float 元素在下方,而不是侧面

css - 如何在 Wordpress 侧边栏中扩展宽度?