[英]Animate a div out of window/view with jQuery, css rules ignored on resize
我有一個絕對定位的div,其位置如下:
#myDiv {
position: absolute;
top: 0%;
height: 500px;
}
@media screen and (max-width: 768px){
#myDiv {
top: 200%;
}
}
想法是它不在768px窗口寬度以下的視圖之外。
當窗口寬度<768px時,我使用jQuery對div進行動畫處理,使其使用jQuery進行動畫處理:
$('#myDiv').animate({
top: "0%"
},350);
然后,當窗口寬度<768px時,我再次使用另一個按鈕將其動畫出視圖。
$('#myDiv').animate({
top: "200%"
},350);
如果#myDiv
動畫超出了視線范圍(頂部:200%),並且我將窗口的大小調整為768px以上,則css規則top:0%
被忽略。 為什么?
它不會被忽略,而是會被覆蓋。 這是因為jQuery的動畫函數修改了元素的內聯樣式,該樣式優先於任何CSS規則。
CSS中的!important
修飾符將告訴您的內聯樣式不優先。
top: 0% !important;
但是,這將不起作用,因為它還會覆蓋top: 200%
動畫函數中的top: 200%
。
您可以收聽matchMedia的更改。
或者,您也可以通過切換類來簡單地處理動畫。
@media screen and (max-width: 768px){
#myDiv {
top: 200%;
transition: top 0.35s
}
#myDiv.visible {
top: 0%
}
}
JS:
$('#myDiv').addClass('visible')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.