• 软件日记
    • 首页
    • 教程
    • 硬盘
    • 主板
    • 芯片
    • 系统
    • 处理器
    • 笔记本电脑
    • 方法
    当前位置:首页 > 日记 > 正文

    js以及jquery实现手风琴效果

    js以及jquery实现手风琴效果

    最近又复习了jQuery的知识,既然jQuery是javascript的一个库。jQuery能做到的事情javascript也能做到。因此用这两种方法实现了图片手风琴效果。

    按照惯例,还是上代码吧,因为代码里有我的注释也就相当于解释了!(^__^) 嘻嘻……

    先看一下javascript的代码吧:

    div布局:注意哦,里面的图片我们用js代码生成

    <div id="box"> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul></div>

    css样式:

    <style type="text/css">  *{  margin: 0;  padding: 0;  }  ul{  list-style: none;  }  #box{  width: 1150px;  height: 400px;  margin: 50px auto;  border: 1px solid red;  overflow: hidden;  }  #box ul{  width: 1300px;  }  #box ul li{  width: 240px;  height: 400px;  float: left;  } </style>

    要写js代码了。这里封装了一个完整的运动框架(我个人 觉得哈,你可以继续完善,不过你要告诉我,我也学习一下!)

    /* * 实现动画的步骤: 1.怎样得到当前的样式 封装一个函数 getStyle() 2.步长的计算 用(目标位置 - 当前的样式) / 10 3. 缓动动画原理: 盒子本身的样式 + 步长(不断变化的) *//* * css设置透明度,一般在ie中用的是filter:alpha(opacity=0);而在firefox中,一般就是直接使用opacity:0*/// 多个属性的运动框架 以及添加回调函数function animate(obj,json,fn){ // 目标obj json 属性:属性值 fn回调函数 clearInterval(obj.timer); obj.timer = setInterval(function(){ var flag = true;// 用来判断是否停止定时器  // 遍历json for (var attr in json) { //attr 属性 json[attr]值  var curStyle = 0;  if (attr == "opacity") {  curStyle = parseInt(getStyle(obj,attr)*100);  } else{  curStyle = parseInt(getStyle(obj,attr));// 获得数值  }  // 得到步长 目标位置就是json[attr]  var step = (json[attr]-curStyle) / 10;  step = step > 0 ? Math.ceil(step) :Math.floor(step);  // 判断透明度  if (attr == "opacity") { // 判断用户有没有输入opacity  if ("opacity" in obj.style) {    obj.style.opacity = (curStyle + step) / 100;  } else{   obj.style.filter = "alpha(opacity="+(curStyle +step)+")";  }  } else if(attr == "zIndex"){  obj.style.zIndex = json[attr];  } else{  obj.style[attr] = curStyle +step +"px";  }  // 判断是否已经都到了目标位置 只要其中一个不满足条件 就不应该停止定时器  if (curStyle != json[attr]) {  flag = false;  } } // 判断定时器条件 是否该停止了 if (flag) {  clearInterval(obj.timer)  // 当定时器停止后,动画也就结束了.如果有回调函数就执行回调函数  if(fn){  fn();  } } },30);}// 封装函数 得到属性function getStyle(obj,attr) { // 谁的 那个属性 if(obj.currentStyle) // ie 等 { return obj.currentStyle[attr]; // 返回传递过来的某个属性 } else { return window.getComputedStyle(obj,null)[attr]; // w3c 浏览器 }}

    接着我们在js里面引入我们写的框架

    <script src="animate.js"></script>

    接下来,写js代码

    <script>  window.onload = function(){  var box = document.getElementById("box");  var lis = box.children[0].children;  for (var i = 0; i < lis.length;i++) {   lis[i].style.backgroundImage = "url(images/"+(i+1)+".webp)";   lis[i].onmouseover = function(){   for (var j = 0; j < lis.length;j++) {    animate(lis[j],{width:100});   }   animate(this,{width:800});   }   lis[i].onmouseout = function(){   for (var k = 0; k < lis.length;k++) {    animate(lis[k],{width:240});   }   }  }  }</script>

    好啦,这样就完成了,具体效果你自己动手看看吧。完整的下载地址为js版本的手风琴效果

    写完了js,发现代码量好多啊,看看jquery代码,哦买嘎,切记一定要先引入jQuery的包,再写代码哈!

    <script src="jquery-1.11.1.min.js"></script> <script>  $(function(){  $("#box li").each(function(index,ele){   $(ele).css("background","url(images/"+(index+1)+".webp)");  }).mouseenter(function(){   $(this).stop().animate({width:800},500).siblings("li").stop().animate({width:100},500);  }).mouseleave(function(){   $("#box li").stop().animate({width:240},500);  });  }); </script>

    精简了好多。
    来吧,我们的jQuery版本手风琴效果下载地址

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

    手风琴效果电脑软件jsjquery  

    热门内容

    相关文章

    Nodejs 复制文件/文件夹的方法

    Nodejs 复制文件/文件夹的方法

    方法,复制文件,电脑软件,Nodejs,1.使用fs复制文件使用fs对象的readFileSync,writeFileSync方法进行读写操作复制cp.jsfunction copyIt(from, to) { fs.writeFileSync(to, fs.readFileSync(from)); //fs.createReadStream(src).pipe(fs.crea…

    PS怎么把胡歌的转换成手绘素描?

    PS怎么把胡歌的转换成手绘素描?

    素描,转换成,手绘,电脑软件,PS,教大家如何把胡歌的照片制作素描效果,方法简单,大部分素描效果都是用这种方法,推荐给大家收藏学习了。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、原素材(举个例子)2、…

    微信小程序 参数传递实例代码

    微信小程序 参数传递实例代码

    实例代码,参数传递,程序,电脑软件,微信小,微信小程序 参数传递实例代码1、通过事件传递参数实例代码:<view data-id="103" bindtap="evenName"></view>Page({ evenName: function(e) { //获得点击事件传递的id console.log(e.target.d…

    js中变量的连续赋值 | 实例讲解

    js中变量的连续赋值 | 实例讲解

    变量,连续赋值,实例,电脑软件,js,今天遇到了一个连续赋值的经典案例,网友们给出的答案也是五花八门,看起来有些繁琐,我也来说说自己的看法。下面就是这个经典案例:var a = {n: 1};var b = a;a.x = a = {n: 2};console.log(a);console.log(b);cons…

    WPS演示中如何插入项目符号及调整

    WPS演示中如何插入项目符号及调整

    调整,项目,插入项目,符号,演示,  通常情况下我们都会用到项目符号或者编号在写演示文稿时罗列出一些重点,那么在wps演示中如何插入项目符号及编号。以下是小编为您带来的关于WPS演示中插入项目符号及调整项目符号,希望对您有所帮助。WPS演…

    JS基于贪心算法解决背包问题示例

    JS基于贪心算法解决背包问题示例

    贪心算法,背包问题,示例,电脑软件,JS,本文实例讲述了JS基于贪心算法解决背包问题。分享给大家供大家参考,具体如下:贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部…

    AI怎么给圆形添加模糊效果?

    AI怎么给圆形添加模糊效果?

    模糊,效果,电脑软件,AI,ai的图形想要显示的更加模糊,该怎么添加模糊效果呢?下面我们就来看看详细的教程。软件名称:Adobe Illustrator CS6 (AI cs6) 精简绿色中文版(32位+64位)软件大小:205MB更新时间:2014-05-111、为了清晰说明,此例中以一个圆…

    excel 函数不显示计算结果的解决教

    excel 函数不显示计算结果的解决教

    函数,显示,教程,计算,电脑软件,  Excel中函数计算过后不显示计算结果具体该如何解决呢?下面是由小编分享的excel 函数不显示计算结果的解决教程,以供大家阅读和学习。excel 函数不显示计算结果的解决教程不显示结果解决步骤1:输入后显示了…

    国外经典标志作品之四

    国外经典标志作品之四

    之四,标志,国外,经典,作品,…

    js字符串与Unicode编码互相转换

    js字符串与Unicode编码互相转换

    编码,转换,字符串,电脑软件,js,'好'.charCodeAt(0).toString(16)"597d"这段代码的意思是,把字符'好'转化成Unicode编码,看看charCodeAt()是怎么个意思charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 …

    excel 公式符号解释

    excel 公式符号解释

    解释,公式,符号,电脑软件,excel,  在Excel中经常需要用到公式符号进行对公式的编辑,如果对公式符号不熟悉的话运用起公式来就不太熟练就会导致工作效率下降,或许有的朋友并不知道公式符号起如何的作用,如果不懂的朋友欢迎一起来研究讨论一番…

    babel基本使用详解

    babel基本使用详解

    详解,电脑软件,babel,什么是babel?babel是一个强大的多用途js编译器 点击进入官网安装babelnpm install -g babel-cli npm install --save-dev babel-clibabel配置文件通过.babelrc来表示{ "presets" : [ ], "plugins" : [ ]}presets用…

    软件日记

    标签

    • 水冷
    • 联想
    • 性能
    • 机箱
    • 升级
    • 电源线
    • 主机
    • 方法
    • 旧电脑
    • 显示器
    • 显示
    • 牌子
    • 频率
    • 蓝屏
    • 笔记本电脑
    • 重启
    • 电脑系统
    • 价格表
    • 黑屏
    • 酷睿
    • 安装
    • 英特尔
    • 参数
    • 双核
    • 视频
    • 台式电脑
    • 电脑主板
    • 价格
    • 知乎
    • 控制
    • 硅胶
    • 故障

    推荐

    • 金蝶录入凭证双击 | 金蝶软件录入凭证有哪些快捷键,就金蝶录入凭证双击 | 金蝶软件录入凭证有哪些快捷键,就
    • 怎样调出电脑cpu | 怎样调出电脑CPU温度怎样调出电脑cpu | 怎样调出电脑CPU温度
    • 电脑CPU针脚剪掉 | 电脑cpu掉了一个针脚电脑CPU针脚剪掉 | 电脑cpu掉了一个针脚
    • 双cpu电脑用处 | 双CPU的电脑双cpu电脑用处 | 双CPU的电脑
    • 限制电脑cpu线程 | 线程指定cpu限制电脑cpu线程 | 线程指定cpu
    软件日记

    Copyright © 软件日记 2023 rjrj.net All Right Reserved. 京ICP备19020253号-12

    声明:本站涵盖的内容、图片等数据系网络、用户收集整理发布,部分内容未能与原作者取得联系。若涉及版权问题,请联系我们进行删除!