使用 jquery 切换 () 和 animate()

2024-01-06

这是一个超级简单的问题。我基本上知道我想要什么以及如何去做,我只是不确定在某个部分使用什么选择器。如果我去掉toggle()函数,动画效果很好,但它只能打开菜单,不能关闭菜单。

这是我的 jquery 代码

$(document).ready(function(){
    $('#menu_button').click(function(){
        $(????).toggle(function(){
            $('.sidebar_menu').animate({left:'0'}, 'slow');
            $('.wrapper').animate({'margin-left':'250px'}, 'slow');
        });

    })
});

这是我的页面代码:

<div class="sidebar_menu">
        <h2>Menu</h2>
        <h3>1. Escolher produto</h3>
        <ul>
            <li>Entradas</li>
            <li>Peixe</li>
            <li>Saladas</li>
        </ul>
        <h3>2. Preencher dados</h3>
        <h3>3. Finalizar pedido</h3>
    </div>

    <div class="wrapper">
            <header>
                <button id="menu_button">menu</button>
            </header>
   </div>

还有我的CSS:

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}


/**MAIN STYLES**/
body {
    height: 100%;
    width: 100%;
    background-color:#C00;
}
.sidebar_menu {
    width: 25%;
    height: 100%;
    display:block;
    position:fixed;
    left: 0;
    top: 0;
    background-color: #666;
}
.wrapper {
    width: 75%;
    float:left;
    margin-left: 25%;
    background-color:#C00;
}
.menu_button {
    display:none;
    }

    .slideIn {
        background-color: #090;
    }

@media screen and (max-width: 50em){
    .sidebar_menu {
        width: 250px;
        left: -250px;
    }
    .wrapper {
        width: 100%;
        margin-left: 0;
    }
    #menu_button {
        display:block;
    }
}

这是一个正确工作代码的小提琴:http://jsfiddle.net/6zg7K/1/ http://jsfiddle.net/6zg7K/1/

你需要添加$('.sidebar_menu').animate({'left':(state ? -250: 0)}, 'slow');到adeneo提供的代码,所以你的整个功能将是:

$('#menu_button').on('click', function(){
    var state = parseInt($('.wrapper').css('margin-left'),10) > 200;
    $('.sidebar_menu').animate({'left':(state ? -250: 0)}, 'slow');
    $('.wrapper').animate({'margin-left': (state ? 0 : 250)}, 'slow');
});

此代码是下面的adeneo 的修改版本。代码的所有功劳都归于他。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jquery 切换 () 和 animate() 的相关文章

随机推荐

  • 对于 Electron 来说,结合 Node.js 和 Chromium 上下文意味着什么?

    In 一篇博文 http maxogden com electron fundamentals html作者提到 Electron 将 Node 和 Chromium 组合成一个 单一上下文 这意味着我们不必使用 Browserify 来转
  • SqlBulkCopy 和实体框架

    我当前的项目由 3 个标准层组成 数据 业务和表示 我想使用数据实体来满足我的所有数据访问需求 该应用程序的部分功能是需要将平面文件中的所有数据复制到数据库中 文件不是很大 所以我可以使用 SqlBulkCopy 我发现了几篇关于 NET
  • android 使用 .der 公钥验证文件签名

    我正在尝试验证文件的签名 我按照以下说明生成证书 generate a private key with size of 2048 bits openssl genrsa out private key pem 2048 derive a
  • 我如何通过 sql server 2008 中的 XP_CMDSHELL 通过网络访问文件/文件夹?

    我正在尝试使用 EXEC MASTER XP CMDSHELL 访问文件夹 目录 它适用于本地文件 文件夹 但它无法通过网络访问该文件夹 EXEC MASTER XP CMDSHELL c Images Works fine EXEC MA
  • 如何使用 9 切片在 WPF 中叠加两个图像?

    我将展示一些 脏 代码 我不完全理解这些代码 因为我是 C 新手 根据我的理解 任何要绘制的控件都会被分成9个矩形 然后通过设置来单独绘制每个矩形Fill矩形的属性 我将隐藏每个矩形的代码 以保持代码的可管理大小 但是 我希望您明白该函数试
  • Google Cloud Datastore JSON API 的 datasetId 是什么

    正如中提到的this https stackoverflow com questions 25097451 how do i find my datasetid for making google datastore queries ans
  • 以编程方式构建 msbuild 15 项目

    我正在尝试构建一个使用 VS2017 创建的简单 C 7 类库项目 框架程序集的 MSBuild 已经过时了 所以我引用Microsoft Build Microsoft Build Engine and Microsoft Build F
  • 当按下回车键时如何转到下一个文本框?

    大家好 我正在学习 Javascript 我想问你们 当我按下键盘上的 Enter 按钮输入文本后 如何才能转到下一个文本框 谢谢 您可以使用 keyup 跟踪用户何时完成字符输入并e keyCode获取按下了哪个键 如果是 13 意味着进
  • 如何提高这段代码的性能呢?

    我正在尝试学习一些 Julia 在阅读了几个小时的手册后 我编写了以下代码 ie 200 ez zeros ie 1 hy zeros ie fdtd1d steps for n in 1 steps for i in 2 ie ez i
  • Doxygen:是否可以控制依赖图的方向?

    Up until today I d been using an ancient version 1 4 7 of doxygen dot and it typically drew graphs with a vertical orien
  • 比较 Msbuild 中的日期时间戳

    我正在尝试比较 msbuild 中的两个日期时间戳 我做了以下事情
  • Visual C++ __forceinline 奇怪的行为

    我试图强制 Visual C 编译器内联特定函数 我知道inline or forceinline只是一个建议 根据MSDN https msdn microsoft com en us library bw1hbe6y aspx 如果编译
  • 如何正确使用MouseMotionListener来按下JButtons?

    我制作了一个小型康威生命游戏程序 我已经完成了大约 80 我用过一个网格JButtons作为细胞 现在我有一个ButtonListener在每个按钮上 因此您必须通过单击各个按钮来逐一绘制您想要的图案 我希望能够快速单击并拖动鼠标并选择按钮
  • request.is_ajax() == 点击后退按钮时为 True?

    我有一个 Django 应用程序 它根据页面请求是否为 Ajax 返回不同的响应 当我查看页面 导航到其他地方 然后单击后退按钮时 请求将被呈现为就像request is ajax 是真的 因此 JSON 输出显示在浏览器中 而不是生成的
  • python 获取 json 键作为完整路径

    我想解析一个 JSON 文件并获取包含访问密钥所需的所有路径的完整列表 如果我们使用keys方法 我们会得到单个键的列表 但不会得到访问数据所需的分层键的完整列表 所以如果给定数据这样 data glossary title example
  • Elm 与 ClojureScript 相比如何?

    我已经到了这样的地步 使用 Backbone js 面向对象的 MVC 模式进行 GUI 编码变得非常复杂 并且正在考虑其他范例 MDV https github com Polymer TemplateBinding FRP http e
  • 为什么通过weak_ptr调用这么慢?

    我已阅读问题weak ptr 的性能损失是什么 https stackoverflow com questions 2748091 whats the performance penalty of weak ptr但我自己的测试显示出不同的
  • 单击圆圈时启动一个功能 - 传单

    我在里面画了一些圈JS如下 L circle 46 765735535841024 23 58344078063965 5 color blue addTo map bindPopup Description This is my desc
  • ScrollController 附加时的事件

    一旦我获得有关最大滚动范围的信息 我就会尝试显示一个小部件 如果我分配一个实例 我可以找到该数字ScrollController to the controller可滚动小部件的属性 我的问题是ScrollController在构建过程中附
  • 使用 jquery 切换 () 和 animate()

    这是一个超级简单的问题 我基本上知道我想要什么以及如何去做 我只是不确定在某个部分使用什么选择器 如果我去掉toggle 函数 动画效果很好 但它只能打开菜单 不能关闭菜单 这是我的 jquery 代码 document ready fun