实现实现一个新闻列表,支持翻页切换对应的内容页,效果如图所示。
要用纯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>