0

有人可以帮我修复此代码吗?我想要的是阻止 live ( 'click') 函数,直到sliddingright函数完成。

('li.menu-item').live('click', function(event){
    if( !$(this).is(':animated')) 
    {
    sliddingright(page_id_target_right,previous_right_old,previous_right,next_right,pages_numbers);
    }
});
4

2 回答 2

2

只需向您的slidingright 函数添加一个return 语句,该函数在函数完成其任务后返回“standby”,保存它并在下次调用“click”时检查其值。

像这样:

var state = 'standby';
('li.menu-item').live('click', function(event){
    if( !$(this).is(':animated') && state == 'standby' ) 
    {
        state = 'processing';
        state = sliddingright(page_id_target_right,previous_right_old,previous_right,next_right,pages_numbers);
    }
});
于 2012-12-19T16:43:45.313 回答
0

尝试:

clickMe = function() {
$('li.menu-item').live('click', function(event) {
    $('li.menu-item').off('click');
    sliddingright(page_id_target_right, previous_right_old, previous_right, next_right, pages_numbers);
});
    $('li.menu-item').on("click", clickMe);
};​
于 2012-12-19T16:41:43.593 回答