これが私がやろうとしていることです:
-画像をクリックすると、unbind
(その画像の)クリックイベントとポップアップが表示されます。
-ポップアップが表示されている限り、その画像をクリックすることはできません。
-ポップアップが閉じられると、クリックイベントが画像に再度バインドされます。
これが私のコードです(画像はli
タグに含まれています)。
$('li').click(clickOnImage());//Bind the click event with call to clickOnImage method
function clickOnImage(){
var id=$(this).attr("id");
console.log('you selected image with id name: '+id);
showWithAnimation();//Show the popup with animation
}//End function
function showWithAnimation(){
console.log('animation called');
$('#popup').show();
$("#popup").css({"top": "10%", "left": "30%"}).animate({top:(($(window).height()/2)-($('#popup').outerHeight()/2))-10}, 1000, 'easeOutBounce').show();
//As long as the popup is shown, Unbind the click event on images
$('li').unbind('click');
}//End function
function hidePopUp(){
$('#popup').hide();
$('li').bind('click',clickOnImage());//if popup is hidden, re-bind the click event and here is the issue!
}//End function
FireFoxで実行しているときに、コンソールで次のエラーが発生しました。
Unexpected end of file while searching for selector. Ruleset ignored due to bad selector.
問題は、関数が再帰的に呼び出されることだと思います。しかし、私はそのようなアプローチを実行する必要があります。どうすれば修正できますか。よろしくお願いします。