侧边栏双击而不是单击

sidebar double click instead of a single click

本文关键字:单击 双击 侧边栏      更新时间:2023-09-26

我有一个问题与我的左侧栏,我需要有我的侧边栏填充当它被点击,但当我运行我的代码我必须双击我的"显示菜单"来获得我的菜单…我做错了什么?

       $(document).ready(function () {
       var slider_width = $('.menucont').width(); //get width automaticly
       $('#pollSlider-button').click(function () {
           if ($(this).css("margin-right") == slider_width + "px" && !$(this).is(':animated')) {
               $('.menucont,#pollSlider-button').animate({
                   "margin-right": '-=' + slider_width
               });
               $(".menucont").show();
               $(".showmenu").css("display", "none");
                               $(".hidemenu").show();

           } else {
               if (!$(this).is(':animated')) //perevent double click to double margin
               {
                   $('.menucont,#pollSlider-button').animate({
                       "margin-right": '+=' + slider_width
                   });
                   $(".showmenu").show();
                   $(".menucont").hide();
                   $(".hidemenu").css("display", "none");
               }
           }

       });
   });

我也有一个小提琴URLhttp://jsfiddle.net/6834Y/

任何帮助都是非常感谢的

你只需要像这样设置你的div:

<div id="pollSlider-button" style="margin-right: 77px;">

代替:

<div id="pollSlider-button" style="margin-right: 0px;">

工作小提琴:http://jsfiddle.net/robertrozas/6834Y/1/

第一次点击

$(this).css("margin-right")

返回0,然后它将进入else语句块else语句块执行

$('.menucont,#pollSlider-button').animate({
                   "margin-right": '+=' + slider_width
               });

所以当点击下一步时菜单显示。

你可以改变if循环,如下所示

if (($(this).css("margin-right") == slider_width + "px" && !$(this).is(':animated')) || $(this).css("margin-right") == "0px")