2013-10-04 44 views
0

我正在開發一個本地網站的內容創建,我想使用JavaScript的雙擊功能。jQuery獨立的divlclick事件內部和外部的div元素

當用戶在名稱/ ids bigwrapper或bigwrapper2中雙擊div外時,我想旋轉全屏幕背景圖像。當用戶點擊#bwwrapper或#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();  
} 
}); 
}); 

UPDATE:下面的解決方案中添加「事件」部分幫助的功能裏面,作爲背景運轉正常,但是#bigwrappers AREN按預期切換(其他條件)。請參閱:http://artfuladvection.com/project/NOAA/ndfdGraph/bloom.php想法?

謝謝!

+0

檢查控制檯,看看是否有任何錯誤!可能有一些有趣的東西在那裏讀。 – Streamside

+1

在此處可以正常工作... http://jsfiddle.net/SqRQ6/您可以複製 – PSL

+0

在爲每個lordvlad的解決方案中的函數添加「事件」後,不會出現更多控制檯錯誤。 @PSL:請參閱上面的網址。 – DrewP84

回答

0

爲我工作的完整的答案是,我需要停止排除特定類別名稱/ IDS,而是整個排除元素標籤。或者,我可以使用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();  
    } 
}); 
4

這是因爲dblclick函數不知道event變量。試試這個

$('html').dblclick(function (event) { 
+0

謝謝!這有助於修復僅循環的背景,但#bigwrapper完全不是.toggle()。想法?網址如下:http://artfuladvection.com/project/NOAA/ndfdGraph/bloom.php – DrewP84