[英]How to add display:inline-block to jQuery fadeIn
我遇到一個問題,試圖display: none
內聯塊元素display: none
頁面加載時display: none
,但是隨后我希望它們以其原始inline-block
形式逐一淡入。 但是,當我執行常規的jQuery fadeIn
,元素將顯示為塊。
我的jQuery現在就像這樣:
function blueBoxDelays(){
$('.fadeBlock1').delay(200).fadeIn(500);
$('.fadeBlock2').delay(400).fadeIn(500);
};
的CSS
.dark-blue-box, .light-blue-box {
height: 50%;
width: 25%;
display: inline-block;
/*display: none; ********I replaced the inline-block with this.
vertical-align: top;
padding: 0;
margin: 0;
transition: all .8s ease-in-out;
}
我可以對jQuery做些什么來使fadeIn
作為inline-block
元素fadeIn
嗎?
你可以試試看
$(document).ready(function(e) { $('.fadeBlock').css('display','none'); blueBoxDelays(); function blueBoxDelays(){ var delay = 0; $('.fadeBlock').each(function(i){ $(this).delay(400+delay).fadeIn(1000); delay = 400*(i+1); }); }; });
.fadeBlock { height: 100px; width: 100px; display: inline-block; } .dark-blue-box{ background-color: blue; } .light-blue-box{ background-color: yellow; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="dark-blue-box fadeBlock"></div> <div class="light-blue-box fadeBlock"></div> <div class="dark-blue-box fadeBlock"></div> <div class="light-blue-box fadeBlock"></div> <div class="dark-blue-box fadeBlock"></div> <div class="light-blue-box fadeBlock"></div>
注意:
從.dark-blue-box, .light-blue-box
刪除不透明度
您可以通過使用帶有過渡屬性的不透明度來獲得所需的結果。
最初是
.fadeBlock1 {
opacity:0;
transition: all 0.5s ease-in-out;
}
$('.fadeBlock1').css('opacity','1');
你想要這樣的東西嗎?
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<style>
.dark-blue-box{
display:inline-block;
border:1px solid #19248c;
background-color:#19248c;
height:50px;
width:50px;
}
.light-blue-box{
display:inline-block;
border:1px solid #6699cc;
background-color:#6699cc;
height:50px;
width:50px;
}
</style>
</head>
<body>
<div class='dark-blue-box'>
</div>
<div class='light-blue-box'>
</div>
<script>
$(document).ready(function(e) {
$('.dark-blue-box').css('display','none');
$('.light-blue-box').css('display','none');
boxFadeIn();
});
function boxFadeIn(){
$('.dark-blue-box')
.delay(200)
.fadeIn(500)
.queue(function (next) {
$(this).css('display', 'inline-block');
next();
});
$('.light-blue-box')
.delay(400)
.fadeIn(500)
.queue(function (next) {
$(this).css('display', 'inline-block');
next();
});
}
</script>
</body>
</html>
試試這個
function blueBoxDelays(){
$('.fadeBlock1').delay(200).fadeIn(500).css('display','inline-block');
$('.fadeBlock2').delay(400).fadeIn(500).css('display','inline-block');
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.