2014-02-07 49 views
0

我想使用jQuery将dom中的元素(div)从一个位置移动到另一个位置。我的代码工作得很好,因为每次浏览器调整大小时都会附加代码,然后继续执行,直到浏览器崩溃。

这里是我的代码:

$(window).resize(function() { 
    var bodyWidth = $(window).width(); 
    if(bodyWidth < 740){ 
     $('.GalleryHeader').appendTo('li'); 
    } 
}); 

我如何得到这个只运行一次,所以只做了一次,那么也许把它放回它原来的位置在DOM调整备份时超过740像素。

回答

1

尝试

jQuery(function() { 
    var flag; 
    $(window).resize(function() { 
     var bodyWidth = $(window).width(); 
     console.log(bodyWidth) 
     if (flag !== false && bodyWidth < 740) { 
      //move the element to new location 
      console.log('less') 
      flag = false; 
     } else if (flag !== true && bodyWidth >= 740) { 
      //put it back to original location 
      console.log('more') 
      flag = true; 
     } 
    }).resize(); 
}) 

演示:Fiddle

+0

感谢@阿伦 - 对 - 佐尼!这看起来是正确的,并且在调整大小时适用,但当我调整大小时,它会添加许多.GalleryHeader实例。有什么可能导致你认为呢? – tjcss

+0

@tjcss你可以编辑小提琴来重新创建问题...因为从我所看到的条件只满足一次... –

+0

奇怪的是,你的例子工作正常与jsfiddle与我的HTML,但不是我的本地网站,必须是别的干涉它。 – tjcss

相关问题