好程式設計師web前端教程分享javascript 練習題
好程式設計師web前端教程分享 前端 javascript 練習題 , 圖片跟著滑鼠飛:
//圖片跟著滑鼠飛,可以在任何的瀏覽器中實現
//window.event和事件引數物件e的相容
//clientX和clientY單獨的使用的相容程式碼
//scrollLeft和scrollTop的相容程式碼
//pageX,pageY和clientX+scrollLeft 和clientY+scrollTop
//把程式碼封裝在一個函式
//把程式碼放在一個物件中
var evt = {
//window.event和事件引數物件e的相容
getEvent : function (evt) {
return window . event || evt ;
},
//可視區域的橫座標的相容程式碼
getClientX : function (evt) {
return this . getEvent ( evt ). clientX ;
},
//可視區域的縱座標的相容程式碼
getClientY : function (evt) {
return this . getEvent ( evt ). clientY ;
},
//頁面向左捲曲出去的橫座標
getScrollLeft : function () {
return window . pageXOffset || document . body . scrollLeft || document . documentElement . scrollLeft || 0 ;
},
//頁面向上捲曲出去的縱座標
getScrollTop : function () {
return window . pageYOffset || document . body . scrollTop || document . documentElement . scrollTop || 0 ;
},
//相對於頁面的橫座標(pageX或者是clientX+scrollLeft)
getPageX : function (evt) {
return this . getEvent ( evt ). pageX ? this . getEvent ( evt ). pageX : this . getClientX ( evt ) + this . getScrollLeft ();
},
//相對於頁面的縱座標(pageY或者是clientY+scrollTop)
getPageY : function (evt) {
return this . getEvent ( evt ). pageY ? this . getEvent ( evt ). pageY : this . getClientY ( evt ) + this . getScrollTop ();
}
};
//最終的程式碼
document . onmousemove = function (e) {
my$ ( "im" ). style . left = evt . getPageX ( e ) + "px" ;
my$ ( "im" ). style . top = evt . getPageY ( e ) + "px" ;
};
鋼琴版導航條:
css樣式:
* {
margin : 0 ;
padding : 0 ;
list-style : none ;
}
.nav {
width : 900px ;
height : 60px ;
background-color : black ;
margin : 0 auto ;
}
.nav li {
width : 100px ;
height : 60px ;
/*border: 1px solid yellow;*/
float : left ;
position : relative ;
overflow : hidden ;
}
.nav a {
position : absolute ;
width : 100% ;
height : 100% ;
font-size : 24px ;
color : blue ;
text-align : center ;
line-height : 60px ;
text-decoration : none ;
z-index : 2 ;
}
.nav span {
position : absolute ;
width : 100% ;
height : 100% ;
background-color : yellow ;
top : 60px ;
}
jq實現程式碼: 需要引入jq檔案
$ ( function () {
//給li註冊滑鼠進入事件,讓li下面的span top:0 播放音樂
$ ( ".nav li" ). mouseenter ( function () {
$ ( this ). children ( "span" ). stop (). animate ({ top : 0 });
//播放音樂
var idx = $ ( this ). index ();
$ ( ".nav audio" ). get ( idx ). load ();
$ ( ".nav audio" ). get ( idx ). play ();
}). mouseleave ( function () {
$ ( this ). children ( "span" ). stop (). animate ({ top : 60 });
});
//節流閥 :按下的時候,觸發,如果沒彈起,不讓觸發下一次
//1. 定義一個flag
var flag = true ;
//按下1-9這幾個數字鍵,能觸發對應的mouseenter事件
$ ( document ). on ( "keydown" , function (e) {
if ( flag ) {
flag = false ;
//獲取到按下的鍵
var code = e . keyCode ;
if ( code >= 49 && code <= 57 ){
//觸發對應的li的mouseenter事件
$ ( ".nav li" ). eq ( code - 49 ). mouseenter ();
}
}
});
$ ( document ). on ( "keyup" , function (e) {
flag = true ;
//獲取到按下的鍵
var code = e . keyCode ;
if ( code >= 49 && code <= 57 ){
//觸發對應的li的mouseenter事件
$ ( ".nav li" ). eq ( code - 49 ). mouseleave ();
}
});
//彈起的時候,觸發mouseleave事件
});
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2664231/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師web前端教程分享前端javascript練習題二程式設計師Web前端JavaScript
- 好程式設計師web前端教程分享前端javascript練習題三程式設計師Web前端JavaScript
- 好程式設計師web前端教程分享前端 javascript 練習題二程式設計師Web前端JavaScript
- 好程式設計師web前端分享前端 javascript 練習題程式設計師Web前端JavaScript
- 好程式設計師web前端教程分享前端javascript練習題之promise程式設計師Web前端JavaScriptPromise
- 好程式設計師web前端分享前端javascript練習題三程式設計師Web前端JavaScript
- 好程式設計師web前端分享前端javascript練習題一程式設計師Web前端JavaScript
- 好程式設計師web前端教程分享前端javascript練習題Ajax封裝程式設計師Web前端JavaScript封裝
- 好程式設計師web前端教程分享前端javascript練習題之閉包案例程式設計師Web前端JavaScript
- 好程式設計師web前端教程分javascript練習題-事件程式設計師Web前端JavaScript事件
- 好程式設計師web前端教程分享JavaScript面試題程式設計師Web前端JavaScript面試題
- 好程式設計師web前端教程分享JavaScript簡寫方法程式設計師Web前端JavaScript
- 好程式設計師Web前端教程分享JavaScript開發技巧程式設計師Web前端JavaScript
- 好程式設計師web前端培訓分享學習JavaScript程式設計師Web前端JavaScript
- 好程式設計師Web前端教程分享Vue學習心得程式設計師Web前端Vue
- 好程式設計師web前端教程分享JavaScript Math(算數)物件程式設計師Web前端JavaScript物件
- 好程式設計師web前端教程分享CSS技巧!程式設計師Web前端CSS
- 好程式設計師web前端培訓分享JavaScript學習指南程式設計師Web前端JavaScript
- 好程式設計師web前端教程分享JavaScript的執行機制!程式設計師Web前端JavaScript
- 好程式設計師web前端教程分享Vue.js面試題程式設計師Web前端Vue.js面試題
- 好程式設計師web前端教程分享Jquery常見面試題程式設計師Web前端jQuery面試題
- 好程式設計師web前端教程分享JavaScript學習筆記之Event事件二程式設計師Web前端JavaScript筆記事件
- 好程式設計師web前端教程分享web前端基礎知識程式設計師Web前端
- 好程式設計師web前端教程分享js閉包程式設計師Web前端JS
- 好程式設計師web前端教程分享js模板模式程式設計師Web前端JS模式
- 好程式設計師web前端教程JavaScript系列之HTTP程式設計師Web前端JavaScriptHTTP
- 好程式設計師web前端教程分享三大前端框架相關問題程式設計師Web前端框架
- 好程式設計師web前端教程分享js reduce方法使用教程程式設計師Web前端JS
- 好程式設計師web前端培訓分享JavaScript學習筆記Promise程式設計師Web前端JavaScript筆記Promise
- 好程式設計師web前端培訓分享JavaScript學習筆記SASS程式設計師Web前端JavaScript筆記
- 好程式設計師web前端培訓分享JavaScript學習筆記cookie程式設計師Web前端JavaScript筆記Cookie
- 好程式設計師web前端培訓分享JavaScript框架J程式設計師Web前端JavaScript框架
- 好程式設計師web前端分享常見面試題程式設計師Web前端面試題
- 好程式設計師web前端教程分享HTML/CSS部分常見面試題程式設計師Web前端HTMLCSS面試題
- 好程式設計師web前端學習路線分享前端基礎面試題程式設計師Web前端面試題
- 好程式設計師web前端教程:字串程式設計師Web前端字串
- 好程式設計師web前端教程分享web中CSS絕對定位程式設計師Web前端CSS
- 好程式設計師Web前端分享前端CSS篇程式設計師Web前端CSS