如何用JS实现翻页切换效果?(语言-javascript)

实现实现一个新闻列表,支持翻页切换对应的内容页,效果如图所示。

img

img

要用纯js写还挺费劲的,推荐用框架吧,比如vue.js体系就有elementUI.

若不想搞vue,只想用原生css和js,那么还是考虑用框架吧,bootsrap 和bulma 都挺好的。

现在技术更新太快了,已经不是造轮子的时代了,初学者更应该从高效实用角度去学习,对全局有个全貌后再回头去深究

搂着可参考https://m.php.cn/faq/523814.html 这个


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        div {
            width: 200px;
            height: 400px;
            background-color: rgb(37, 121, 121);
            overflow: hidden;
        }
        .sopen{
            background-color: blue;
        }
        span {
            text-align: center;
            width: 20px;
            height: 20px;
            line-height: 20px;
            color: #fff;
            border: 1px solid #fff;
            border-radius: 40px;
            display: block;
            float: left;
            margin: 0 20px;
            margin-top: 10px;
        }
        ul {
            margin-top: 60px;
            margin-left: 30px;
            display: none;
        }
        .open {
            display: block;
        }
    </style>
</head>
<body>

    <div>
        <span class="sopen">1</span><span>2</span><span>3</span>

        <ul class="open">
            <li>第一页:新闻1</li>
            <li>第一页:新闻2</li>
            <li>第一页:新闻3</li>
            <li>第一页:新闻4</li>
            <li>第一页:新闻5</li>
        </ul>
        <ul>
            <li>第二页:新闻1</li>
            <li>第二页:新闻2</li>
            <li>第二页:新闻3</li>
            <li>第二页:新闻4</li>
            <li>第二页:新闻5</li>
        </ul>
        <ul>
            <li>第三页:新闻1</li>
            <li>第三页:新闻2</li>
            <li>第三页:新闻3</li>
            <li>第三页:新闻4</li>
            <li>第三页:新闻5</li>
        </ul>
    </div>
</body>
<script>
    var span = document.querySelectorAll("span");
    var ul = document.querySelectorAll("ul");
    var showIndex = 0;
    for(var i=0; i<span.length; i++){
        span[i].index = i;
        span[i].onclick = function() {
            // if (!showIndex == this.index) {        
            //           
            //     }
           if(!showIndex == !this.index) {
                ul[showIndex].className = "";
            }
            if(showIndex == !this.index) {
                ul[showIndex].className = "";
            }
            span[showIndex].className = "";
            this.className = "sopen";
            showIndex = this.index;   
            for(var j=0; j<ul.length; j++) {   
                ul[showIndex].className = "open";
            }            
        }
        
    }
</script>
</html>