Javascript 使用jquery删除div,但将div保留在其中
我正在尝试使用jquery在定时事件后删除div。。目前,初始计时器如下所示Javascript 使用jquery删除div,但将div保留在其中,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用jquery在定时事件后删除div。。目前,初始计时器如下所示 $(document).ready(function () { setTimeout(function () { $("#loader-wrapper .loader-section, #textbit").hide("slow"); $("#logo").animate({ left: '-115px', top: '-60%' }); $("#logo-sid
$(document).ready(function () {
setTimeout(function () {
$("#loader-wrapper .loader-section, #textbit").hide("slow");
$("#logo").animate({ left: '-115px', top: '-60%' });
$("#logo-side").animate({ opacity: 9 }, 2000);
$("#loader-wrapper").remove();
}, 2000);
});
我在这里用加载程序包装器外的div做了一些事情,但是div徽标需要保留在页面上,而加载程序包装器需要在定时事件执行完所有功能后继续
在其当前形式中,加载程序包装被删除(没有发生.hide转换),并且还删除了嵌套在其中的logo div。。。有人能建议/提供解决办法吗
html看起来像这样
<div id="loader-wrapper">
<div id ="wrapper">
<div id="logo"><a href="index.html"><img src="images/mthc/logo-main.png" height="130px" width="420px"></a>
</div>
</div>
</div>
听起来您只是想删除
#加载程序包装器
div
在这种情况下,您可以使用
您可以使用移除包装器
$("#wrapper").unwrap();
jQuery有一个
unwrap
方法,您可以使用该方法删除加载程序包装
$(“#包装器”).unwrap()代码>
您可以使用.unwrap()代码>
如果您不确定子元素
使用
另外,使用animate()
回调在动画发生后删除元素
$("#logo-side").animate({
opacity: 9
}, 2000, function () {
$("#loader-wrapper > *").unwrap();
});
试一试
这将在动画运行后删除#加载程序包装
}); ??困难的方法是克隆元素,然后再次附加它,但您已经有了解决方案。我认为“打开包装”的方法可以在引擎盖下实现这一点:)啊,我从来都不知道现在尝试它。。。这是我重点关注的加载程序包装,unwrap
方法将删除元素的父元素。在这种情况下,我们希望以#wrapper
为目标,以便删除其父级#loader wrapper
。如何延迟此操作,直到当前计时器功能执行完毕。。。它没有给其他函数执行的机会?将展开与其他函数一起放入setTimeout
中。请注意,unwrap()
需要在内部元素上调用。啊,这实际上是告诉展开函数在动画发生后冷静2秒,我会立即整合。
$("#wrapper").unwrap();
$("#loader-wrapper > *").unwrap();
$("#logo-side").animate({
opacity: 9
}, 2000, function () {
$("#loader-wrapper > *").unwrap();
});
$(document).ready(function() {
setTimeout( function () {
$("#loader-wrapper .loader-section, #textbit").hide("slow");
$("#logo").animate({left: '-115px', top:'-60%'});
$( "#logo-side" ).animate({ opacity: 9 }, 2000);
setTimeout(function(){
$("#loader-wrapper").remove();
},4000);
}, 2000 );