我创建了一个
jQuery content switcher.一般来说,它工作正常,但它有一个问题.如果您多次点击侧边的链接,有时会显示多个内容.
这个问题很可能在点击事件中的某个地方.这是代码:
$('#tab-list li a').click( function() { var targetTab = $(this).attr('href'); if ($(targetTab).is(':hidden')) { $('#tab-list li').removeClass('selected'); var targetTabLink = $(this).parents('li').eq(0); $(targetTabLink).addClass('selected'); $('.tab:visible').fadeOut('slow',function() { $(targetTab).fadeIn('slow'); } ); } return false; } );
我已经尝试向转换添加一个锁,以便在转换发生时进一步的点击被忽略,但无济于事.如果已经有动画,我也试图阻止转换被触发,使用以下方法:
if ($(':animated')) { // Don't do anything } else { // Do transition }
但似乎总是认为事情是动画的.任何想法如何防止动画被多次触发?