溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用js實現(xiàn)新聞輪播效果

發(fā)布時間:2022-07-14 09:53:47 來源:億速云 閱讀:218 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“如何用js實現(xiàn)新聞輪播效果”,在日常操作中,相信很多人在如何用js實現(xiàn)新聞輪播效果問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何用js實現(xiàn)新聞輪播效果”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

原生js實現(xiàn)新聞輪播效果,附詳細注釋

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="text" id="input">
    <button id="btn">插入</button>
    <ul id="box"></ul>
    <script>
        // 定義數(shù)組
        var news = ['111111111111','2222222222222222222','33333333333333'];
        // 獲取元素
        var input = document.getElementById('input');
        var btn = document.getElementById('btn');
        var box = document.getElementById('box');
        // 把原有的新聞顯示在頁面中
        carousel();
        // 把渲染結構的內(nèi)容封裝為一個函數(shù)
        function carousel(){
            // 定義一個空字符串
            var str = '';
            // 遍歷數(shù)組,把數(shù)組里面的每一個值都重復拿出來添加到 li 標簽里再賦值給str
            news.forEach(function(item){
                str +=`<li>${item}</li>`;
            });
            // 把 str 的內(nèi)容給到 box 結構里
            box.innerHTML = str;
        }
        // 點擊添加的時候 把 用戶輸入的內(nèi)容添加到數(shù)組中,再次渲染結構
        btn.onclick = function(){
            // 為了良好的用戶體驗 輸入框中的值不能為空
            if(!input.value){
                // 彈出提示框
                alert('輸入框不能為空');
                // 這里 return 是中斷循環(huán)的意思
                return;
            }
            // 把內(nèi)容添加到數(shù)組中
            news.unshift(input.value);
            // 頁面中新聞只能為5條,如果超過5條,把5條之后的數(shù)據(jù)刪除
            if(news.length>5){
                // 只截取頁面最新的5條新聞
                news.splice(5);
            }
            // 調(diào)用 渲染結構
            carousel();
            // 插入新聞完成后輸入框賦空
            input.value = '';
        }
        /*
        【1】間隔執(zhí)行函數(shù),每隔多少時間去執(zhí)行一次函數(shù),這里 1000 指的是 1s
                setInterval(function(){
                    你需要執(zhí)行的代碼
                },1000)
        */

        // 設置定時器  新聞的滾動切換(把數(shù)組中的最后一條數(shù)據(jù) 截取出來放入數(shù)組中第一條),再次循環(huán) 渲染結構
        setInterval(function(){
            // pop() 在刪除數(shù)組的最后一個元素  把刪除的數(shù)據(jù)賦值給res
            var res = news.pop();
            // unshift() 在數(shù)組的最前面添加一個元素
            news.unshift(res);
            // 調(diào)用函數(shù),再次渲染結構
            carousel();
            // 定時,時長設置為2s
        },2000);
    </script>
</body>
</html>

效果:

初始:

如何用js實現(xiàn)新聞輪播效果

插入數(shù)據(jù)(因為我們設置了輪播效果,所以新聞會一直滾動):

如何用js實現(xiàn)新聞輪播效果

插入大于5條:

如何用js實現(xiàn)新聞輪播效果

插入只顯示數(shù)組的最新的五條數(shù)據(jù),為什么第一條插入4510202不顯示呢,這是因為可能插入的數(shù)據(jù)類型為整型,在遍歷數(shù)組的時候跑到前面位置所以不顯示

如何用js實現(xiàn)新聞輪播效果

到此,關于“如何用js實現(xiàn)新聞輪播效果”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

js
AI