js鋼琴按鈕波浪式圖片排列效果代碼分享
本文實(shí)例講述了js鋼琴按鈕波浪式圖片排列效果。分享給大家供大家參考。具體如下:
這是一款基于javascript實(shí)現(xiàn)的鋼琴按鈕波浪式圖片排列效果,鼠標(biāo)在圖片列表上移動(dòng),當(dāng)前圖片高亮顯示,以此為根基點(diǎn),周圍的圖片逐漸變小,所以有種手指劃過(guò)鋼琴鍵盤的感覺(jué)。
運(yùn)行效果圖: -------------------查看效果-------------------
小提示:瀏覽器中如果不能正常運(yùn)行,可以嘗試切換瀏覽模式。
注意:圖片的alt屬性不能缺少,否則將導(dǎo)致效果失敗。
為大家分享的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鋼琴按鈕波浪式圖片排列效果代碼,希望大家可以喜歡。
相關(guān)文章
Javascript對(duì)象Clone實(shí)例分析
這篇文章主要介紹了Javascript對(duì)象Clone用法,實(shí)例分析了javascript對(duì)象克隆的相關(guān)技巧,需要的朋友可以參考下2015-06-06通過(guò)JavaScript實(shí)現(xiàn)動(dòng)態(tài)圣誕樹(shù)詳解
這篇文章主要為大家介紹幾個(gè)好看的基于HTML+CSS+JS的圣誕樹(shù),希望圣誕節(jié)那天圣誕老爺爺能把我喜歡的你塞到我床上。感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-12-12js實(shí)現(xiàn)鼠標(biāo)觸發(fā)圖片抖動(dòng)效果的方法
這篇文章主要介紹了js實(shí)現(xiàn)鼠標(biāo)觸發(fā)圖片抖動(dòng)效果的方法,通過(guò)定時(shí)器定時(shí)遞歸調(diào)用rattleimage函數(shù)實(shí)現(xiàn)抖動(dòng)效果,非常實(shí)用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02JS實(shí)現(xiàn)touch 點(diǎn)擊滑動(dòng)輪播實(shí)例代碼
這篇文章主要介紹了JS實(shí)現(xiàn)touch 點(diǎn)擊滑動(dòng)輪播實(shí)例代碼,需要的朋友可以參考下2017-01-01thinkphp實(shí)現(xiàn)無(wú)限分類(使用遞歸)
這篇文章主要介紹了在使用遞歸的情況下thinkphp實(shí)現(xiàn)無(wú)限分類,感興趣的小伙伴們可以參考一下2015-12-12JavaScript如何將偽數(shù)組轉(zhuǎn)換成數(shù)組?
這篇文章主要介紹了JavaScript如何將偽數(shù)組轉(zhuǎn)換成數(shù)組,?偽數(shù)組的主要特征是一個(gè)對(duì)象,并且該對(duì)象有l(wèi)ength屬性,更多參考內(nèi)容,需要的小伙伴可以參考一下2022-07-07