Reputation:
I need remove a div from DOM after 1 second, I found out how to hide using CSS, but the problem this divs stay in the DOM.
So how can remove this Div from DOM and make the other one be width:100%
?
css:
.header {
width:30%;
}
.sub-header {
width:70%;
}
html:
<div class="header">
I need be removed not hided from DOM after 1 second
</div>
<div class="sub-header">
I need be 100% after 1 second
</div>
Upvotes: 0
Views: 1496
Reputation: 6628
Use setTimeout()
and apply the animate()
as per your need.
setTimeout(function(){
$('.header').remove();
$('.sub-header').animate({
width: '100%',
marginLeft: '40%'
});
}, 1000);
setTimeout(function(){
$('.header').remove();
$('.sub-header').animate({
width: '100%',
marginLeft: '40%'
});
}, 1000);
.header {
width:30%;
}
.sub-header {
width:70%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="header">
I need be removed not hided from DOM after 1 second
</div>
<div class="sub-header">
I need be 100% after 1 second
</div>
Upvotes: 4
Reputation: 358
Use settimeout()
setTimeout(function(){
$('div.header').remove();
$('div.sub-header').css("width: 100%");
$('div.sub-header').slideDown("300")
}, 1000);
The 1000 is calculated in milliseconds
Upvotes: 0
Reputation: 2010
setTimeout(
() => {
const elHeader = document.querySelector('.header');
const elSubHeader = document.querySelector('.sub-header');
elHeader.parentNode.removeChild(elHeader);
elSubHeader.classList.add('sub-header_wide');
},
1000
);
.header {
background: red;
width:30%;
}
.sub-header {
background: blue;
transition: width 0.3s;
width:70%;
}
.sub-header_wide {
width: 100%;
}
<div class="header">
I need be removed not hided from DOM after 1 second
</div>
<div class="sub-header">
I need be 100% after 1 second
</div>
Upvotes: 0
Reputation: 167192
Plan your CSS well. You can use setTimeout
to add a class and make the change.
setTimeout(function () {
document.body.classList.add("after");
}, 1000);
.header {
width: 30%;
float: left;
}
.sub-header {
width: 70%;
float: left;
}
.after .header {
display: none;
}
.after .sub-header {
width: 100%;
float: none;
}
<div class="header">
I need be removed not hided from DOM after 1 second
</div>
<div class="sub-header">
I need be 100% after 1 second
</div>
Upvotes: 2