[英]Cycle through div content on click without Jquery
我有以下代碼可以正常工作。 它顯示了第一個內容div,然后單擊按鈕,它旋轉到content-2,content-3等。
$(document).ready(function () {
var divs = $('div[id^="content-"]').hide(),
i = 0;
function cycle() {
divs.fadeOut(400).delay(400).eq(i).fadeIn(400);
i = ++i % divs.length;
};
cycle()
$('button').click(cycle);
// click button to show next paragraph
});
不幸的是,我正在使用的嵌入式內容不支持外部庫,因此我需要將其放入原始Javascript中。
有人可以指出我的直接方向嗎?
var counter=2;
function cycle(){
document.getElementsByClassName("content")[counter].style.opacity=0;
counter++;
if(counter==3){
counter=0;
}
document.getElementsByClassName("content")[counter].style.opacity=1;
}
window.onload=function(){
document.getElementById("button").addEventListener("click",function(){cycle();});
cycle();
}
然后css
.content{
transition:all ease 3s;
opacity:0;
position:absolute;
top:0px;
left:0px;
}
您可以嘗試通過CSS進行操作。 animate.css可能會有所幫助。
一種類似您正在嘗試的方法可以是:
<div id="animatedDiv">Animated DIV</div>
<script>
document.getElementById("animatedDiv").className = "animated fadeOut";
setTimeout(function(){
document.getElementById("animatedDiv").className = "animated fadeIn rotateIn";
}, 800)
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.