JavaScript实现手风琴效果


Posted in Javascript onFebruary 18, 2021

本文实例为大家分享了JavaScript实现手风琴效果的具体代码,供大家参考,具体内容如下

JavaScript实现手风琴效果

代码:

<!DOCTYPE html>
<html lang="en">


<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
 <style>
  * {
   margin: 0;
   padding: 0;
  }
  
  ul {
   width: 100%;
   text-align: center;
  }
  
  ul li {
   list-style: none;
   overflow: hidden;
   display: inline-block;
   transition: all 1s;
  }
 </style>
</head>

<body>
 <ul>

 </ul>
 <script>
  var ul = document.querySelector("ul");
  var imgs = ["img/img4.jpg", "img/img5.jpg", "img/img6.jpg", "img/img7.jpg", "img/img8.jpg", "img/img9.jpg", ];
  for (var i = 0; i < imgs.length; i++) {
   var li = document.createElement("li");
   var img = document.createElement("img");
   img.src = imgs[i];
   li.appendChild(img);
   ul.appendChild(li);
  }
  var lis = document.querySelectorAll("li");
  window.onload = window.onresize = function() {
   for (var i = 0; i < lis.length; i++) {
    lis[i].style.width = (ul.offsetWidth / imgs.length) - 10 + "px";
   }
  }
  var imgM = document.querySelectorAll("img");
  for (let i = 0; i < imgM.length; i++) {
   imgM[i].onmouseenter = function() {
    for (var j = 0; j < imgM.length; j++) {
     lis[j].style.width = ((ul.offsetWidth - imgM[i].offsetWidth) / (imgs.length - 1)) - 10 + "px";
    }
    lis[i].style.width = imgM[i].offsetWidth + "px";
   }

   imgM[i].onmouseleave = function() {
    for (var i = 0; i < lis.length; i++) {
     lis[i].style.width = (ul.offsetWidth / imgs.length) - 10 + "px";
    }
   }
  }
 </script>
</body>

</html>

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

Javascript 相关文章推荐
JavaScript 常见对象类创建代码与优缺点分析
Dec 07 Javascript
jquery实现的网页自动播放声音
Apr 30 Javascript
最短的IE判断var ie=!-[1,]分析
May 28 Javascript
跟我学习javascript的浮点数精度
Nov 16 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
Dec 25 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
Apr 13 Javascript
JS实现的文字间歇循环滚动效果完整示例
Feb 13 Javascript
JS函数节流和防抖之间的区分和实现详解
Jan 11 Javascript
浅谈vue.use()方法从源码到使用
May 12 Javascript
laypage.js分页插件使用方法详解
Jul 27 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
Sep 28 Javascript
微信小程序开发打开另一个小程序的实现方法
May 17 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
Feb 15 #Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
Feb 14 #Javascript
如何在 Vue 中使用 JSX
Feb 14 #Vue.js
Vue单页面应用中实现Markdown渲染
Feb 14 #Vue.js
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
Feb 11 #Vue.js
详解ES6实现类的私有变量的几种写法
Feb 10 #Javascript
微信小程序实现点赞业务
Feb 10 #Javascript
You might like
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
举例讲解Python中的算数运算符的用法
2015/05/13 Python
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
python 实现A*算法的示例代码
2018/08/13 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
中科软测试工程师面试题
2012/06/16 面试题
总务岗位职责
2013/11/19 职场文书
微笑服务演讲稿
2014/05/13 职场文书
工伤私了协议书范本
2014/11/24 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
鲁滨逊漂流记读书笔记
2015/06/26 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
用Python实现屏幕截图详解
2022/01/22 Python
MySQL实现配置主从复制项目实践
2022/03/31 MySQL