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 没有按预期切换(其他条件)。见:http ://artfuladvection.com/project/NOAA/ndfdGraph/bloom.php想法?

谢谢!

4

2 回答 2

4

那是因为 dblclick 函数不知道该event变量。尝试这个

$('html').dblclick(function (event) {
于 2013-10-04T16:21:51.467 回答
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 回答