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 相关文章推荐
自动更新作用
Oct 08 Javascript
window.js 主要包含了页面的一些操作
Dec 23 Javascript
JavaScript自定义事件介绍
Aug 29 Javascript
jquery单行文字向上滚动效果示例
Mar 06 Javascript
js正则表达式验证邮件地址
Nov 12 Javascript
详解JS面向对象编程
Jan 24 Javascript
bootstrap快速制作后台界面
Dec 05 Javascript
JavaScript调用模式与this关键字绑定的关系
Apr 21 Javascript
Vue内部渲染视图的方法
Sep 02 Javascript
JavaScript正则表达式验证登录实例
Mar 18 Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
Mar 01 Vue.js
代码块高亮可复制显示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
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
python的常见命令注入威胁
2013/02/18 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
Python实现自动访问网页的例子
2020/02/21 Python
python实现马丁策略的实例详解
2021/01/15 Python
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
求职简历的自我评价怎样写好
2013/10/07 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
《故乡》教学反思
2014/04/10 职场文书
大班幼儿评语大全
2014/04/30 职场文书
小学生校园广播稿
2014/09/28 职场文书
介绍信范文大全
2015/05/07 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python