Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery中交替单击绑定-为什么函数I';我想把别人叫我绑起来?_Jquery_Bind - Fatal编程技术网

jquery中交替单击绑定-为什么函数I';我想把别人叫我绑起来?

jquery中交替单击绑定-为什么函数I';我想把别人叫我绑起来?,jquery,bind,Jquery,Bind,我有一家酒吧,一开始是酒吧。酒吧里有一个圆圈。当你点击工具栏时,它会弹出。我想在圆圈和可点击的栏之间切换-圆圈应该关闭弹出窗口,栏应该打开弹出窗口。我似乎不明白为什么我可以在代码底部附近绑定函数dBind,但是当我尝试在函数中绑定它时,它调用的是我正在绑定的函数,最终无法达到目的 function circBind(elem){ var thisDrawer = $(elem).parent(); var toggleWidth = thisDrawer.widt

我有一家酒吧,一开始是酒吧。酒吧里有一个圆圈。当你点击工具栏时,它会弹出。我想在圆圈和可点击的栏之间切换-圆圈应该关闭弹出窗口,栏应该打开弹出窗口。我似乎不明白为什么我可以在代码底部附近绑定函数dBind,但是当我尝试在函数中绑定它时,它调用的是我正在绑定的函数,最终无法达到目的

function circBind(elem){
        var thisDrawer = $(elem).parent();
        var toggleWidth = thisDrawer.width() == 450 ? "25px" : "450px";
        thisDrawer.animate({ width: toggleWidth }).css('overflow', 'visible');
        if (thisDrawer.is("#bottom-drawer")) {
                $
                label = thisDrawer.find('.drawer-label');
                if($(label).is(":visible")){
                }else{
                    $('.search-drawer').bind('click',function(){dBind(this);});
                    $(label).show();
                    var thisPlaylist = $('#site-playlist');
                    $('.playlist-nav').hide();
                    $('.playlist-block').hide();
                    thisPlaylist.hide();    
                }
        }
        if (thisDrawer.is("#top-drawer")) {
                $('.music-list').hide();
                label.hide();
        }
    alert("cc");
    $('.search-circle').unbind('click');
};


function dBind(elem) {
        var thisDrawer = $(elem);
        var toggleWidth = thisDrawer.width() == 450 ? "25px" : "450px";
        thisDrawer.animate({ width: toggleWidth }).css('overflow', 'visible');
        if (thisDrawer.is("#bottom-drawer")) {
                label = thisDrawer.find('.drawer-label');
            if($(label).is(":visible")){
                var thisPlaylist = $('#site-playlist');
                $('.playlist-nav').show();
                $(label).hide();
                thisPlaylist.fadeIn('slow');
                $('.search-circle').bind('click',function(){circBind(this);});
                alert("dc");
            }
        }
        if (thisDrawer.is("#top-drawer")) {
                label = thisDrawer.find('.drawer-label');
                $('.music-list').fadeIn('slow');
                $(label).show();
        }


    $('.search-drawer').unbind('click');
};

$('.search-drawer').bind('click',function(){dBind(this);});

可能是您已经注意到的,但circBind函数中的$本身是什么?

您是否检查了firebug控制台中的任何错误?有两个错误是由非此代码引起的。其他代码的错误会导致这种情况吗?我知道错误可以扮演JS来扮演lil古怪的角色——我主要想验证它在一个部分(在cBind期间)调用绑定函数的事实,但在其他地方绑定它时却没有。另外,在dBind期间不调用cBind。。。即使我用同样的方式绑定它,是的,这是我注意到的,并且已经解决了它,但是问题的根源仍然存在。嗯,你介意把这个做一点,这样我就可以帮你调试了吗?