如何用JS制作点击按钮可以完成图片排序的功能
Admin 2022-08-09 群英技术资讯 1193 次浏览
今天这篇给大家分享的知识是“如何用JS制作点击按钮可以完成图片排序的功能”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“如何用JS制作点击按钮可以完成图片排序的功能”文章能帮助大家解决问题。本文实例为大家分享了js点击按钮实现图片排序的具体代码,供大家参考,具体内容如下
效果
1 、点击按钮
如果按钮文字是从大到小 将li标签按照从大到小的顺序排列 文字改成从小到大
如果按钮文字是从小到大 将li标签按照从小到大的顺序排列 文字变成从大到小
2 、点击按钮 将li随机排序
<style>
* {
padding: 0;
margin: 0;
list-style: none;
}
.wrap {
width: 440px;
margin: 50px auto;
text-align: center;
}
ul li {
float: left;
width: 100px;
height: 130px;
margin-right: 10px;
margin-bottom: 10px;
font-size: 12px;
}
ul li img {
width: 100px;
height: 100px;
}
ul li p {
line-height: 30px;
text-align: center;
font-size: 12px;
}
.wrap button {
display: inline-block;
width: 100px;
height: 40px;
text-align: center;
line-height: 40px;
background-color: red;
border: none;
margin-right: 20px;
margin-bottom: 20px;
color: #fff;
font-size: 16px;
}
</style>
<div class="wrap"> <button>从大到小</button><button>随机排序</button> <ul> <li> <img src="./img1.jfif" alt=""> 柴犬<span>1</span> </li> <li> <img src="./img2.jfif" alt=""> 柴犬<span>2</span> </li> <li> <img src="./img3.jfif" alt=""> 柴犬<span>3</span> </li> <li> <img src="./img4.jfif" alt=""> 柴犬<span>4</span> </li> <li> <img src="./img5.jfif" alt=""> 柴犬<span>5</span> </li> <li> <img src="./img6.jfif" alt=""> 柴犬<span>6</span> </li> <li> <img src="./img7.jfif" alt=""> 柴犬<span>7</span> </li> <li> <img src="./img8.jfif" alt=""> 柴犬<span>8</span> </li> </ul>
<script>
/*
2. 效果
2.1 点击按钮
如果按钮文字是从大到小 将li标签按照从大到小的顺序排列 文字改成从小到大
如果按钮文字是从小到大 将li标签按照从小到大的顺序排列 文字变成从大到小
2.2 点击按钮 将li随机排序
标签排序比较快
注意:
获取元素方式:
document/父元素.getElementsByTagName()
document/父元素.getElementsByClassName()
*/
// 1.获取元素 button li ul
var btns = document.getElementsByTagName('button');
var lis = document.getElementsByTagName('li');
var ul = document.getElementsByTagName('ul')[0];
console.log(btns, lis, ul);
// 5.将集合转成数组
var liarr = [];
for (var i = 0; i < lis.length; i++) {
liarr.push(lis[i]);
}
console.log(liarr);
// 2.添加事件
btns[0].onclick = function () {
// 3.如果按钮是从大到小
if (this.innerText == '从大到小') {
// 4.将li标签按照从大到小的顺序排列
liarr.sort(function (a, b) {
console.log(a, b);
// 6.获取a、b中的span
var as = a.getElementsByTagName('span')[0].innerText;
var bs = b.getElementsByTagName('span')[0].innerText;
console.log(as, bs);
// 7.设置返回值
return bs - as;
});
// 9.更新文字
this.innerText = '从小到大'
} else {
liarr.sort(function (a, b) {
console.log(a, b);
var as = a.getElementsByTagName('span')[0].innerText;
var bs = b.getElementsByTagName('span')[0].innerText;
return as - bs;
});
this.innerText = '从大到小'
}
// console.log(liarr);
// 8.渲染到ul中
// 8.1清空页面中ul的内容
ul.innerHTML = '';
// 8.2.将liarr里面的每一个数据渲染到页面ul中
for (var j = 0; j < liarr.length; j++) {
ul.innerHTML += '<li>' + liarr[j].innerHTML + '</li>';
}
}
// 随机排序
btns[1].onclick = function () {
liarr.sort(function (a, b) {
console.log(a, b);
return Math.random() - 0.5;
});
ul.innerHTML = '';
for (var j = 0; j < liarr.length; j++) {
ul.innerHTML += '<li>' + liarr[j].innerHTML + '</li>';
}
}
</script>
效果:
从小到大

从大到小

随机排序

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章我们来了解jQuery中如何实现修改style属性。这里我们可以使用attr()方法来修改style属性,具体的实现方法及代码如下,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
vue Element左侧无限级菜单怎么实现?最近项目中,要用到element-ui的无限级分类菜单,根据角色生成不同的递归数据,查阅了网上很多资料,发现很多都不太完整并且没有很多的延伸性。
首先了解一下 Map再来了解一下 Set总结Map和Set的区别结语:首先了解一下 MapMap 是一组键值对的结构,和 JSON 对象类似。(1) Map数据结构如下这里我们可以看到的是Map的数
在Excel中,我们可以通过拖拉表格来实现自动计算表格的内容,那么我们做网页版的Excel表格,这个功能要如何实现呢?接下来小编就给大家分享用JavaScript实现拖拉表格自动计算内容的功能。
中国省市区三级联动Jquery插件经常被使用到,不管是网站还是app,这个都是需要掌握的,我们知道中国省市区三级联动的数据可以存储在mysql数据库中,也可以直接存储在distpicker.data.js这样的js文件中,下面来开始学习如何使用Jquery省市区三级联动插件。 下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008