簡體   English   中英

在沒有Jquery的情況下單擊可循環瀏覽div內容

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

JSFIDDLE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM