如何用JS制作点击按钮可以完成图片排序的功能
Admin 2022-08-09 群英技术资讯 478 次浏览
本文实例为大家分享了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如何实现简单的悬浮菜单效果,悬浮菜单是比较常见的,小编觉得挺实用的,因此分享给大家做个参考,实现效果及代码如下,接下来跟随小编一起看看吧。
delete是删除对象的属性没有任何剩菜,剩下的唯一真正的方法,但它的工作比其“替代”设置慢100倍 object[key] = undefined
JQuery省市联动如何实现的? 在我们的注册表单中,通常我们需要知道用户的籍贯,需要一个给用选择的项,当用户选中了省份之后,列出省下面所有的城市
这篇文章给大家介绍一下ECharts鼠标事件的处理方法,事件是用户或浏览器自身执行的某种动作,如click、mouseover、页面加载完毕后触发load事件,都属于事件。为了记录用户的操作和行为路径,需要完成鼠标事件处理和组件交互的行为事件的处理。
这篇文章主要介绍了如何封装Vue Element的table表格组件,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008