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 相关文章推荐
使用JQUERY Tabs插件宿主IFRAMES
Jan 01 Javascript
js中settimeout方法加参数
Feb 28 Javascript
Javascript基础教程之JavaScript语法
Jan 18 Javascript
Javascript基础教程之argument 详解
Jan 18 Javascript
JS实现一个按钮的方法
Feb 05 Javascript
关于JavaScript作用域你想知道的一切
Feb 04 Javascript
写给vue新手们的vue渲染页面教程
Sep 01 Javascript
详解element-ui中form验证杂记
Mar 04 Javascript
小程序使用wxs解决wxml保留2位小数问题
Dec 13 Javascript
简单了解常用的JavaScript 库
Jul 16 Javascript
vue路由切换时取消之前的所有请求操作
Sep 01 Javascript
原生jQuery实现只显示年份下拉框
Dec 24 jQuery
代码块高亮可复制显示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
论坛头像随机变换代码
2006/10/09 PHP
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
php计算十二星座的函数代码
2012/08/21 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
js遍历详解(forEach, map, for, for...in, for...of)
2019/08/28 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
列举Python中吸引人的一些特性
2015/04/09 Python
python非递归全排列实现方法
2017/04/10 Python
基于Python os模块常用命令介绍
2017/11/03 Python
python编写Logistic逻辑回归
2020/12/30 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
外语系毕业生找工作的求职信
2013/11/28 职场文书
八年级数学教学反思
2014/01/31 职场文书
培训主管岗位职责
2014/02/01 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
结婚典礼致辞
2015/07/28 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书