[英]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.