js实现琴弦效果(兼容IE7)
来源:互联网 发布:a卡游戏优化 编辑:程序博客网 时间:2024/09/21 11:21
<!doctype html><html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate"> <meta http-equiv="expires" content="-1"> <title>魔幻英雄小游戏</title> <style> #list{ width: 302px; margin: 50px auto; padding: 0; list-style: none; } #list li{ height: 40px; font: 12px/40px "宋体"; border:1px solid #000; position: relative; } #list span{ height: 12px; line-height: 12px; } </style> <script src="move.js"></script> <script> window.onload = function(){ var oList = document.getElementById('list'); var aLi = document.getElementsByTagName('li'); var iLiHeight = aLi[0].offsetHeight; for (var i = aLi.length - 1; i >= 0; i--) { var sHtml = aLi[i].innerHTML; aLi[i].innerHTML =''; for(var j = 0; j<sHtml.length; j++){ aLi[i].innerHTML +="<span>"+sHtml.charAt(j)+"</span>"; } var aSpan = aLi[i].children; var iSpanHeight = aSpan[0].offsetHeight; for(var j = 0; j<aSpan.length; j++){ var oSpan = aSpan[j]; oSpan.style.left = oSpan.offsetLeft + 'px'; oSpan.style.top = oSpan.offsetTop + 'px'; oSpan.startTop = oSpan.offsetTop; } for(var j = 0; j<aSpan.length; j++){ aSpan[j].style.position = 'absolute'; (function(aSpan,nub2){ var iStart = 0; var oSpan = aSpan[nub2]; oSpan.onmouseover = function(ev ){ var ev = event || ev; iStart = ev.clientY; } oSpan.onmousemove = function(ev ){ var ev = event || ev; var iDis = ev.clientY - iStart; var iNub = iDis >0?1:-1; if(this.startTop + iDis > 0 && this.startTop + iDis < iLiHeight - iSpanHeight){ // this.style.top = this.startTop + iDis + 'px'; for(var j = 0; j<aSpan.length;j++){ if(Math.abs(iDis)> Math.abs(nub2-j)){ aSpan[j].style.top = aSpan[j].startTop + (Math.abs(iDis) - Math.abs(nub2-j))*iNub+'px'; }else{ aSpan[j].style.top = aSpan[j].startTop +'px'; } } } } oSpan.onmouseout = function(ev ){ for(var j = 0; j<aSpan.length;j++){ startMove(aSpan[j],{top:aSpan[j].startTop},500,"elasticOut"); } } })(aSpan,j) } }; } </script> </head><body> <ul id="list"> <li>魔幻英雄小游戏文字列表图片高斯斯文模糊切换1</li> <li>魔幻英雄小游戏文字列表图片高斯斯文模糊切换222</li> <li>魔幻英雄小游戏文字列表图片高斯斯文模糊切换3333</li> <li>魔幻英雄小游戏文字列表图片高斯斯文模糊切换44444</li> <li>魔幻英雄小游戏文字列表图片高斯斯文模糊切换555555</li> </ul></body></html>
MOVE.JS
// JavaScript Document//t 时间变化量time,B初始量 begin,C变化量change,D,时间duraction var Tween = { linear:function(t,b,c,d){ return t*c/d+b; }, easeIn:function(t,b,c,d){ return c*(t/=d)*t+b; }, elasticOut:function (t, b, c, d, a, p) { if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * .3; if (!a || a < Math.abs(c)) { a = c; var s = p / 4; } else var s = p / (2 * Math.PI) * Math.asin(c / a); return (a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b); } } function startMove(obj, json,times,fx, fn) { clearInterval(obj.timer); var iCur = {}; var startTime = now(); for(var attr in json){ if (attr == 'opacity') { iCur[attr] = parseInt(parseFloat(getStyle(obj, attr)) * 100); } else { iCur[attr] = parseInt(getStyle(obj, attr)); } } obj.timer = setInterval(function() { var changeTime = now(); // var t = times - Math.max(0,startTime- changeTime+times); for (var attr in json) { var value = Tween[fx](t,iCur[attr],json[attr]-iCur[attr],times); //console.log(value); if (attr == 'opacity') { obj.style.filter = 'alpha(opacity=' + value + ') '; obj.style.opacity = value / 100; } else { obj.style[attr] = value + 'px'; } } if (t==times) { clearInterval(obj.timer); if (fn) { fn.call(obj) } } }, 13) } function getStyle(obj, attr) { if (obj.currentStyle) { return obj.currentStyle[attr]; } else { return getComputedStyle(obj, false)[attr]; } } function now(){ return new Date().getTime(); }
1 0
- js实现琴弦效果(兼容IE7)
- 纯JS实现图片幻灯片效果,兼容IE7,firefox
- JS实现兼容IE6、IE7、IE8的图片上传前预览效果
- jquery实现图片自动轮换效果(兼容IE6,IE7)
- IE7/IE8不兼容js trim函数,自己实现
- 纯clipboard.js实现复制(IE兼容至IE7)
- js琴弦列表
- IE7(兼容透明蒙版效果)
- CSS3过渡效果 兼容IE6、IE7、IE8
- IE6、IE7、IE8的CSS、JS兼容
- IE6、IE7、IE8的CSS、JS兼容
- IE6、IE7、IE8的CSS、JS兼容
- IE6、IE7、IE8的CSS、JS兼容
- IE6、IE7、IE8的CSS、JS兼容
- IE6、IE7、IE8的CSS、JS兼容
- IE6、IE7、IE8的CSS、JS兼容
- js 回车登录兼容IE7火狐
- js动态设置div层级兼容ie7
- HTTP请求报文和响应报文
- SharePoint之JavaScript客户端对象模型
- Sqlite3数据块以BLOB字段存储二进制数据块
- SpringMVC拦截器的使用和配置
- Deep Learning for Computer Vision with MATLAB and cuDNN(译文)
- js实现琴弦效果(兼容IE7)
- xcodebuild 打包
- ios头文件搜索路径教程
- Mobile_Why App Localization Matters
- 车牌识别
- 修改数据库编码 - MySQL
- Python打印汉诺塔移动的步骤
- 虚拟机Ubuntu Server(宿主Win7)共享文件夹
- 使用轻量级JAVA 爬虫Gecco工具抓取新闻DEMO