js钢琴按钮波浪式图片排列效果代码分享


Posted in Javascript onAugust 26, 2015

本文实例讲述了js钢琴按钮波浪式图片排列效果。分享给大家供大家参考。具体如下:

这是一款基于javascript实现的钢琴按钮波浪式图片排列效果,鼠标在图片列表上移动,当前图片高亮显示,以此为根基点,周围的图片逐渐变小,所以有种手指划过钢琴键盘的感觉。

运行效果图:                                -------------------查看效果-------------------

js钢琴按钮波浪式图片排列效果代码分享

小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式。

注意:图片的alt属性不能缺少,否则将导致效果失败。
为大家分享的js钢琴按钮波浪式图片排列效果代码如下

head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>js钢琴按钮波浪式图片排列效果</title>
 <style>
 #bookrack { width: 1200px; margin:100px auto; overflow:hidden;} 
 #bookrack a { text-align: center; text-decoration: none; font-size: 12px; } 
 #bookrack span { display: none; position: absolute; color: #fff; background-color: #000; background: rgba(0, 0, 0, 0.5); padding: 5px; top: 30px; left: 0; } 
 #bookrack span big { color: red; font-size: 14px; } 
 #bookrack img { width: 100%; height: 100%; display: block; border: 0; }
 </style>
</head>
<body>

<!--代码部分begin-->
<div id="bookrack">
 <a href="#" title="三水点靠木"><img src="images/2.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/3.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/4.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/5.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/6.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/7.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/8.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/2.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/3.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/4.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/5.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/6.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/7.jpg" alt="三水点靠木" /></a>
 <a href="#" title="三水点靠木"><img src="images/8.jpg" alt="三水点靠木" /></a>
 
</div>
<script>
var Bookrack = function(a, b, c, e) {
 this.scale = e || 0.1;
 this.x = b || 120;
 this.y = c || 160;
 this.border = 2;
 this.init(a);
 this.exec(Math.ceil(Math.random() * this.imgs.length))
};
Bookrack.prototype = {
 init: function(a) {
 this.width = a.clientWidth - 2 * this.x * this.scale;
 a.style.position = "relative";
 a.style.height = this.y + "px";
 this.imgs = a.getElementsByTagName("a");
 var b = this,
 c = document.createElement("span"),
 e,
 d;
 this.each(function(a, g) {
 a.style.position = "absolute";
 a.style.bottom = "0";
 a.style.border = this.border + "px solid gray";
 a.style.left = this.width * (g / this.imgs.length) + 2 * this.border + "px";
 a.setAttribute("dir", g);
 d = a.getElementsByTagName("img")[0].getAttribute("alt").split("|");
 e = c.cloneNode(!0);
 e.innerHTML = a.getAttribute("title");
 a.appendChild(e);
 a.onmouseover = function() {
 b.exec(this.getAttribute("dir"))
 }
 })
 },
 each: function(a) {
 for (var b = 0,
 c; c = this.imgs[b++];) a.call(this, c, b, this.imgs.length)
 },
 color: function(a) {
 a = (~~ (255 * a)).toString(16);
 2 > a.length && (a = "0" + a);
 a = a.substr(0, 2);
 return "#" + a + a + a
 },
 exec: function(a) {
 this.each(function(b, c, e, d, f) {
 b.getElementsByTagName("span")[0].style.display = "none";
 c == a && (b.getElementsByTagName("span")[0].style.display = "block");
 d = Math.min(c / a, a / c);
 f = Math.sin(90 * (Math.PI / 180) * d) * (1 - this.scale);
 b.style.zIndex = Math.ceil(1E4 * f);
 b.style.borderColor = this.color(f + this.scale);
 b.style.width = this.x * (f + this.scale) - 2 * this.border + "px";
 b.style.height = this.y * (f + this.scale) - 2 * this.border + "px";
 b.style.marginLeft = this.x * f / -2 + "px"
 })
 }
};
new Bookrack(document.getElementById('bookrack'), 120, 160);
</script>
<!--代码部分end-->

</body>
</html>

以上就是为大家分享的js钢琴按钮波浪式图片排列效果代码,希望大家可以喜欢。

Javascript 相关文章推荐
关于textarea提交的内容无法换行的解决办法
Apr 09 Javascript
使用mouse事件实现简单的鼠标经过特效
Jan 30 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
Aug 25 Javascript
AngularJS通过ng-route实现基本的路由功能实例详解
Dec 13 Javascript
微信小程序实现topBar底部选择栏效果
Jul 20 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
Sep 30 Javascript
node中IO以及定时器优先级详解
May 10 Javascript
Vue.js实现大屏数字滚动翻转效果
Nov 29 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
Apr 15 Javascript
three.js显示中文字体与tween应用详析
Jan 04 Javascript
如何利用JavaScript编写一个格斗小游戏
Jan 06 Javascript
javascript中alert()与console.log()的区别
Aug 26 #Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 #Javascript
基于jQuery实现的QQ表情插件
Aug 25 #Javascript
js中javascript:void(0) 真正含义
Nov 05 #Javascript
js实现三张图(文)片一起切换的banner焦点图
Aug 25 #Javascript
js焦点文字滚动效果代码分享
Aug 25 #Javascript
JS实现灵巧的下拉导航效果代码
Aug 25 #Javascript
You might like
对盗链说再见...
2006/10/09 PHP
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
php cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
$.ajax json数据传递方法
2008/11/19 Javascript
Mootools 1.2教程 事件处理
2009/09/15 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
js获取客户端操作系统类型的方法【测试可用】
2016/05/27 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
python web框架学习笔记
2016/05/03 Python
python 全文检索引擎详解
2017/04/25 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
会计主管岗位职责范文
2013/11/08 职场文书
大学生毕业的自我评价分享
2014/01/02 职场文书
电子商务自荐书范文
2014/01/04 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
Python基础详解之描述符
2021/04/28 Python