0

コンテンツ作成用のローカル サイトを開発しており、javascript のダブルクリック機能を使用したいと考えています。

ユーザーが名前/ ID bigwrapperまたはbigwrapper2のdivの外側をダブルクリックしたときに、フルスクリーンの背景画像を回転させたいです。ユーザーが #bigwrapper または #bigwrapper2 をクリックしたときに、.toggle(); にしたいです。それぞれ、どちらか一方を非表示/表示します。

これが私の更新されたコードです(lordvladに感謝します)

$(function() { 
 $( "#bigwrapper" ).draggable();  
 $( "#bigwrapper2" ).draggable(); 

 var SacramentoBG = ['nightcap.jpg','Tower_Bridge_Sacramento_edit.jpg'], 
     counter =0;            

 $('html').dblclick(function (event) {
    if (event.target.id != "bigwrapper" && event.target.id != "bigwrapper2") {
     counter = (counter+1) % SacramentoBG.length;
     $('html').css('background-image', "url("+SacramentoBG[counter]+")");
 } else {
     $("#bigwrapper").toggle();
     $("#bigwrapper2").toggle();    
 } 
 });
});  

更新: 背景が適切に回転するため、関数内に「イベント」を追加する以下のソリューションは部分的に役立ちましたが、#bigwrappers は意図したとおりに切り替えられません (else 条件)。参照: http://artfuladvection.com/project/NOAA/ndfdGraph/bloom.phpアイデア?

ありがとう!

4

2 に答える 2

0

私にとってうまくいった完全な答えは、特定のクラス名/ ID を除外するのをやめ、代わりに要素タグ全体を除外する必要があるということでした。または、単に使用することもできますif (event.target.TagName == 'BODY') {}

 $('body').dblclick(function (event) {
     if (event.target.tagName != 'DIV' && event.target.tagName != 'IMG' && event.target.tagName != 'TABLE' && event.target.tagName != 'HR' && event.target.tagName != 'SMALL' ) {
       counter = (counter+1) % SacramentoBG.length;
       $('html').css('background-image', "url("+SacramentoBG[counter]+")");
     } else {
       $("#bigwrapper").toggle();
       $("#bigwrapper2").toggle();    
     } 
 });
于 2013-10-04T18:01:08.010 に答える