【发布时间】:2021-11-22 14:18:29
【问题描述】:
我有一个动画文本的 div。我似乎必须将其设置为“绝对”,否则动画不流畅,但是,因为它是绝对的,网站的其余部分忽略了该框,即使我将它包裹在另一个相对的 div 中。
几天来一直在拔头发,非常感谢您的帮助!
HTML:
<div id="cbp-qtrotator" class="cbp-qtrotator">
<div class="cbp-qtcontent current"><blockquote>
<p style="font-family:Arial, Helvetica, sans-serif; font-size: 2em; text-align: center">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec at augue lectus.</p></blockquote></div>
<div class="cbp-qtcontent"><blockquote>
<p style="font-family:'Courier New', Courier, monospace;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec at augue lectus.</p></blockquote></div>
<div class="cbp-qtcontent"> <blockquote>
<p style="font-family:Arial, Helvetica, sans-serif;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec at augue lectus.</p></blockquote></div>
</div>
CSS:
.cbp-qtrotator {
position: relative;
width: 90%;
max-width: 1225px;
max-height:600px;
margin: 75px auto 25px;
z-index:90;
}
.cbp-qtcontent {
width: 100%;
height: auto;
position: absolute;
z-index: 2;
display: none
}
.cbp-qtrotator .cbp-qtcontent.current {
display: block
}
.cbp-qtrotator blockquote {
margin: 20px 0 0 0;
padding: 0
}
.cbp-qtrotator blockquote p {
color: #FFFFFF;
font-weight: 300;
margin: 0.4em 0 1em
}
blockquote {border-left: none;}
Javascript:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var divs = $('.cbp-qtcontent');
function fade() {
var current = $('.current');
var currentIndex = divs.index(current),
nextIndex = currentIndex + 1;
if (nextIndex >= divs.length) {
nextIndex = 0;
}
var next = divs.eq(nextIndex);
next.stop().fadeIn(1500, function() {
$(this).addClass('current');
});
current.stop().fadeOut(1500, function() {
$(this).removeClass('current');
_startProgress()
setTimeout(fade, 5000);
});
}
function _startProgress(){
$(".cbp-qtprogress").removeAttr('style');
$(".cbp-qtprogress").animate({
width:"800px",
} , 5000);
}
_startProgress()
setTimeout(fade, 5000);
});
</script>
“cbp-qtcontent”绝对值导致网站的其余部分没有出现在这个动画文本下,而是出现在它上面。如果我更改或删除它,下一行出现在顶部下方,然后顶部消失,然后第二行向上移动。网站随之移动,但显然这不是我想要的文本的平滑更改。
谢谢!
【问题讨论】:
标签: javascript css animation position