双击事件上的切换元素不起作用

时间:2015-07-21 10:33:27

标签: jquery toggle

我想要一个元素在doubleclick事件上切换,但它不起作用。

function doubleClick(e,fteven,position,oppname,mftname) {

var opponentstand = 'png.png'; var opponentrun = 'gif.gif'; var ftplayerstand = 'png.png'; var ftplayerrun = 'gif.gif'; var oppodd = fteven - 1; jQuery('#div_label_ft').toggle( function(){ var distance = jQuery('#div_label_opp').offset().left - jQuery('#div_label_ft').offset().left; jQuery('#div_img_opp').removeAttr('src',opponentstand).attr('src',opponentrun); jQuery('#div_img_ft').removeAttr('src',ftplayerstand).attr('src',ftplayerrun); jQuery('#div_label_ft').animate({ 'left': '+='+distance, }, 1500,function(){ jQuery('input[type=radio]#div_ft').attr('checked',false); jQuery('#div_img_ft').removeAttr('src',ftplayerrun).attr('src',ftplayerstand).css('transform','rotateY(180deg)'); }); jQuery('#div_label_opp').animate({ 'right': '+='+distance, }, 1500,function(){ jQuery('input[type=radio]#div_opp').attr('checked',true); jQuery('#div_img_opp').removeAttr('src',opponentrun).attr('src',opponentstand).css('transform','rotateY(360deg)'); }); }, function(){ var distance = jQuery('#div_label_opp').offset().left - jQuery('#div_label_ft').offset().left; jQuery('#div_img_opp').removeAttr('src',opponentstand).attr('src',opponentrun); jQuery('#div_img_ft').removeAttr('src',ftplayerstand).attr('src',ftplayerrun); jQuery('#div_label_ft').animate({ 'left': '+='+distance, }, 1500,function(){ jQuery('input[type=radio]#div_ft').attr('checked',false); jQuery('#div_img_ft').removeAttr('src',ftplayerrun).attr('src',ftplayerstand).css('transform','rotateY(360deg)'); }); jQuery('#div_label_opp').animate({ 'right': '+='+distance, }, 1500,function(){ jQuery('input[type=radio]#div_opp').attr('checked',true); jQuery('#div_img_opp').removeAttr('src',opponentrun).attr('src',opponentstand).css('transform','rotateY(180deg)'); });// });

}

这是我正在使用的功能。

正在进行第二次双击完全正常。但不是第一次双击事件。

请指导!

1 个答案:

答案 0 :(得分:0)

文档说不推荐使用.toggle()函数(http://api.jquery.com/toggle-event

我使用了.animate(),它对我有用。