私の.off( 'click')jQueryメソッドが動作していない理由がわかりません。 '.reveal -メニュー'。最初のアニメーションは、各divが78の単位でそれぞれの場所に移動するのでうまく動作します。しかし、私はそれを元に戻すことはできません。イベントハンドラを削除するためにjQuery .off()を取得できません
jQueryの
$(function(){
var userMenuDivs = $('#user-menu div:gt(1)');
userMenuDivs.hide();
$('.reveal-menu').on('click',
function(){
$(this).addClass('down');
iconSpacerCount = 78;
userMenuDivs.show();
$.each(userMenuDivs, function(index,value){
$(this).animate({top:iconSpacerCount},200);
iconSpacerCount += 78;});
});
$('.reveal-menu').off('click',
function(){
$(this).removeClass('down');
iconSpacerCount = 0;
$.each(userMenuDivs, function(index,value){
$(this).animate({top:iconSpacerCount});
});
});
});
ここでHTML
<div id="user-menu">
<div class="reveal-menu">
<i class="fa fa-plus fa-lg"></i>
</div>
<div class="post-option">
<a href="#" class="fa fa-pencil fa-2x"></a>
</div>
<div class="search-option">
<a href="#" class="fa fa-search fa-lg"></a>
</div>
<div class="chat-option">
<a href="#" class="fa fa-comments fa-lg"></a>
</div>
<div class="profile-option">
<a href="#" class="fa fa-user fa-lg"></a>
</div>
<div class="friends-option">
<a href="#" class="fa fa-users fa-lg"></a>
</div>
<div class="organizations-option">
<a href="#" class="fa fa-building-o fa-lg"></a>
</div>
<div class="public-figures-option">
<a href="#" class="fa fa-bullhorn fa-lg"></a>
</div>
<div class="sign-out-option">
<a href="#" class="fa fa-sign-out fa-lg"></a>
</div>
</div>
は私がやっているお見せするためにビデオへのリンクです。 https://dl.dropboxusercontent.com/u/3270373/2016-06-01_21-57-20.mp4
実際の目標は何ですか、クリックするだけの作業1時間を持っていますか? – j08691
をクリックするとメニューとアイコンが表示され、アニメートされます。それらをクリックするとアニメーションが戻って消えます。 – user1730335
'.off'に関数を渡すと、その特定のハンドラを削除するために使用されます。他のハンドラを取り除いた後に別のハンドラを追加するために使用されません。 –