10.8 360首頁的音樂導(dǎo)航

圖片.png

js代碼 :<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>360音樂導(dǎo)航</title>
<style>
*{
margin: 0;
padding: 0;
list-style: none;
}
#box
{
width:900px;
height: 40px;
border: 1px solid #dddddd;
margin: 100px auto;
overflow: hidden;
}
#oUl
{
width: 910px;
margin-left: -4px;
}
#oUl li
{
float: left;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
background:url("images/_r1_c1.png") no-repeat 0 0;
border-right:1px dashed #cccccc;
position: relative;
}
#oUl li a
{
text-decoration: none;
font-size: 13px;
color: #000;
}
span
{
width: 100px;
height: 40px;
background: deepskyblue;
position: absolute;
left: 0;
top: 40px;
z-index: -1;
}
</style>
</head>
<body>
<div id="box">
<ul id="oUl">
<li>
<a href="#">音樂導(dǎo)航</a>
<span></span>
<audio src="source/a1.mp3"></audio>
</li>
<li>
<a href="#">音樂導(dǎo)航</a>
<span></span>
<audio src="source/a2.mp3"></audio>
</li>
<li>
<a href="#">音樂導(dǎo)航</a>
<span></span>
<audio src="source/a3.mp3"></audio>
</li>
<li>
<a href="#">音樂導(dǎo)航</a>
<span></span>
<audio src="source/a4.mp3"></audio>
</li>
<li>
<a href="#">音樂導(dǎo)航</a>
<span></span>
<audio src="source/a5.mp3"></audio>
</li>
<li>
<a href="#">音樂導(dǎo)航</a>
<span></span>
<audio src="source/a6.mp3"></audio>
</li>
<li>
<a href="#">音樂導(dǎo)航</a>
<span></span>
<audio src="source/a7.mp3"></audio>
</li>
<li>
<a href="#">音樂導(dǎo)航</a>
<span></span>
<audio src="source/a8.mp3"></audio>
</li>
<li>
<a href="#">音樂導(dǎo)航</a>
<span></span>
<audio src="source/a9.mp3"></audio>
</li>
</ul>
</div>
</body>
<script src="js/MyFunc1.js"></script>
<script>
function $(symId) {
return document.getElementById(symId);
}
window.onload = function () {
//var lis = $('oUl').document.getElementsByName('li');
//var oSpan = lis.children[1];
var oUl = $('oUl');
var lis = oUl.children;
//當(dāng)li 被over 的時候
for (var i = 0; i < lis.length; i++) {
//給 li 里面的精靈圖 定位添加進(jìn)來
if (i==0) {
lis[i].style.backgroundPosition = '0 0';
}
else{
lis[i].style.backgroundPosition = '0' + i * (-40)+'px';
}
//當(dāng)li 被over的時候 它 的第二個孩子動畫顯示
lis[i].onmouseover = function () {
// alert(0);
//for (var i = 0; i < lis.length; i++) {
//lis[i].children[1].style.top = 40;
// }
//this.children[1].style.top =0;
buffer(this.children[1],{top:0}, function () {//音樂是不同的事件源 所以不同放這里
// buffer(lis[this.index - 1].children[1],{top:40})//這里不能搞連續(xù)觸發(fā)的動畫效果
//因為不是同一個事件
});
this.children[2].play();
//最后發(fā)現(xiàn) 的問題 我們應(yīng)該讓下一次播放音樂從0開始
this.children[2].currentTime = 0;

        };
        //當(dāng)鼠標(biāo)離開的時候當(dāng)前的li 的 第二個孩子動畫消失
        lis[i].onmouseout = function () {
            buffer(this.children[1],{top:40})
        }
    };
    //當(dāng)點擊鍵盤的時候 發(fā)生的事件
    document.onkeydown = function (event) {
        var event = event ||window.event;
     // console.log(event.onkeydown);
        console.log(event.keyCode);
        //首先 keyCode(標(biāo)準(zhǔn)的鍵碼表)是沒有0的.從1 -  9  分別對應(yīng)的是49 - 57.
        // 但是現(xiàn)在我們需求獲取的是0 開始 . 也就是說 keyCode = 48;所以標(biāo)準(zhǔn)鍵碼表keyCode減去對應(yīng)的值既 最小的值 49 就等于0 l
        // 鍵盤上的 1 數(shù)字對應(yīng)的是49
        //就是說 從0 - 9 ,對應(yīng)的是48 - 57
        //那么現(xiàn)在的keyCode 指的就是myCode
        var myCode = event.keyCode - 49; //這樣第一個就是從 0 開始
        //keyCode  獲取得到的是數(shù)字  所以當(dāng)點擊 0 -9 的時候 讓對應(yīng)的li觸發(fā)事件就可以
        //讓ospan顯示動起來這里也還是跟手動的效果一樣,所以用緩動動畫
        buffer(lis[myCode].children[1],{top:0}, function () {
            buffer(lis[myCode].children[1],{top:40});//這里就可以用連續(xù)觸發(fā)的動畫 ,因為每點擊鍵盤觸發(fā)的同時也離開
        });
        //讓音樂同時響起
        lis[myCode].children[2].play();
        //最后發(fā)現(xiàn) 的問題 我們應(yīng)該讓下一次播放音樂從0開始
        this.children[2].currentTime = 0;
    }
}

</script>
</html>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容