js实现点击选项置顶动画效果


Posted in Javascript onAugust 25, 2020

本文实例为大家分享了js实现点击选项置顶动画的具体代码,供大家参考,具体内容如下

js实现点击选项置顶动画效果

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8" />
 <title>js置顶动画</title>
 <style>
  *{margin:0;padding:0;}
  ul {width: 1000px;margin:100px auto;position:relative;}
  li {position:absolute;height: 100px;width:900px;font-size:30px;background:#fff;line-height:100px;border:1px solid #eee;list-style:none;padding-left:50px;margin-top:-1px;transition:all .8s ease;}
  li button {float:right;position:relative;top:40px;right:30px;}
 </style>
</head>
<body>
 <ul>
 <li data-index="0">
  <span>内容0</span>
  <button>置顶</button>
 </li>
 <li data-index="1">
  <span>内容1</span>
  <button>置顶</button>
 </li>
 <li data-index="2">
  <span>内容2</span>
  <button>置顶</button>
 </li>
 <li data-index="3">
  <span>内容3</span>
  <button>置顶</button>
 </li>
 <li data-index="4">
  <span>内容4</span>
  <button>置顶</button>
 </li>
 </ul>
</body>
<script>
 function $$(str) {return document.querySelectorAll(str);}
 // 初始化排序
 function intData () {
 for (let i = 0, len = $$('ul li').length; i < len; i++) {
  $$('ul li')[i].style.top = (i * 101) + 'px'; 
  $$('ul li')[i].style.zIndex = (i * 101); 
 }
 }
 function bindEvent () {
 for (let i = 0, len = $$('ul li').length; i < len; i++) {
  $$('ul li')[i].onclick = function() {
  // 将点击的节点追加到第一个
  let first = this.parentNode.firstChild;
  this.parentNode.insertBefore(this, first);
  setTimeout(() => {
   intData();
  }, 50);
  };
 }
 }
 intData();
 bindEvent();
</script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。 

Javascript 相关文章推荐
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
Dec 11 Javascript
调试JavaScript中正则表达式中遇到的问题
Jan 27 Javascript
JavaScript更改原始对象valueOf的方法
Mar 19 Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 Javascript
javascript下使用Promise封装FileReader
Feb 19 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
May 01 Javascript
Vue.js数据绑定之data属性
Jul 07 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
Jul 05 Javascript
微信小程序的mpvue框架快速上手指南
May 15 Javascript
JS使用cookie保存用户登录信息操作示例
May 30 Javascript
JavaScript剩余操作符Rest Operator详解
Jul 20 Javascript
vuex实现数据状态持久化
Nov 11 Javascript
理解JavaScript中的对象
Aug 25 #Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
Aug 25 #Javascript
node.js基础知识汇总
Aug 25 #Javascript
基于JS实现快速读取TXT文件
Aug 25 #Javascript
Vue实现简单的拖拽效果
Aug 25 #Javascript
浅谈JavaScript节流和防抖函数
Aug 25 #Javascript
JS实现拖动模糊框特效
Aug 25 #Javascript
You might like
深入PHP获取随机数字和字母的方法详解
2013/06/06 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
2020/07/31 Javascript
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
Python实现多线程的两种方式分析
2018/08/29 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
Python处理session的方法整理
2019/08/29 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
父母对孩子的寄语
2014/04/09 职场文书
个人股份合作协议书
2014/10/24 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
地球上的星星观后感
2015/06/02 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书
解决Oracle数据库用户密码过期
2022/05/11 Oracle