javescript第八天
阿新 • • 發佈:2020-12-17
通過js實現點選按鈕圖片從大到小 從小到大 隨機排序
html樣式
<body>
<div id="div1">
<a href="#">從大到小</a>
<a href="#">隨機排序</a>
</div>
<div id="div2">
<p><img src="img/1.jpg"><br>美女1</p>
<p><img src="img/2.jpg"><br>美女2</p>
<p><img src="img/3.jpg"><br>美女3</p>
<p><img src="img/4.jpg"><br>美女4</p>
<p><img src="img/1.jpg"><br>美女5</p>
<p><img src="img/2.jpg" ><br>美女6</p>
<p><img src="img/3.jpg"><br>美女7</p>
<p><img src="img/4.jpg"><br>美女8</p>
</div>
</body>
css樣式
style>
#div1 {
text-align: center;
}
#div1 a {
display: inline-block;
width: 80px;
height: 40px;
line-height: 40px;
background: red;
color: #fff;
text-decoration: none;
margin-right: 20px;
}
#div1 a {
color: #fff;
background: red;
}
#div2 {
text-align: center;
width: 800px;
margin: 0 auto;
}
#div2 p {
float: left;
width: 200px;
height: 200px;
}
#div2 img {
width: 100%;
height: 100%;
}
</style>
</head>
js樣式
<script>
var btns = document.getElementById('div1').getElementsByTagName('a');
var o = document.getElementById('div2');
var ps = o.getElementsByTagName('p');
var arr = [];
for (var i = 0; i < ps.length; i++) {
arr.push(ps[i]);
}
btns[0].onclick = function () {
arr.reverse();
var s = '';
arr.forEach(function (item) {
s += "<p>" + item.innerHTML + "</p>";
});
o.innerHTML = s;
// console.log(ps);
};
btns[1].onclick = function () {
var arr = [];
for (var i = 0; i < ps.length; i++) {
arr.push(ps[i]);
}
arr.sort(function (a, b) {
return Math.random() - 0.5;
});
var s = '';
arr.forEach(function (item) {
s += "<p>" + item.innerHTML + "</p>";
});
o.innerHTML = s;
};
實現這個功能要了解reverse();這個倒敘功能,
第一步(順序排序)
遍歷陣列,取出p
宣告一個變數,用來儲存陣列的內容
第二步
變數 += 標籤 +文字內容
顯示圖片
倒序排序只用使用arr.reverse();這個,可以人陣列倒序
隨機排序
取隨機數,隨機取數,要正值,負值都有,所以減0.5