DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> 基於jquery的仿百度的鼠標移入圖片抖動效果
基於jquery的仿百度的鼠標移入圖片抖動效果
編輯:JQuery特效代碼     
1。查看源文件,在查看後很納悶的發現,此頁並沒有包含那些獎品信息。這樣就斷定代碼在另一個頁面中。於是想當然的以為是用的框架連接的地址。結果沒查到,卻看到了一個這樣的信息:
代碼如下:
<div id ="task-intro-box"><!--活動說明--></div>
<div id ="task-awards"><!--活動獎勵--></div>
<div id ="task-rule"><!--活動規則--></div>

可以看到此頁面是用task-awards為ID的div當容器的,所以,單擊頁面上的JS文件,查找task-awards

  2。終於皇天不負有心人,在base.js中查到了這段代碼,可以看到被映射到了awards.html地址,加之下面的widget/ 路徑.所以此頁面的完整路徑就被找出來了
代碼如下:
function getWidgets(){
var modules = {
"task-intro-box":"intro.html"
,"task-awards":"awards.html"
,"task-gongao":"gongao.html"
,"task-rule":"rule.html"
,"faq":"faq.html"
,"task-gongao":"gongao.html"
};
$.each(modules,function(key,val){
if(G(key) ){
$.get("widget/"+val ,function(data){
$(data).appendTo($("#"+key));
});
}
});
}

3。查看awards.html 頁面的源文件.可以看到這段圖片效果的調用
代碼如下:
$("ul.awards img").each(function(k,img){
new JumpObj(img,10);
$(img).hover(function(){this.parentNode.parentNode.className="hover"});
$(img.parentNode).click(function(){return false;});//阻止被點擊
})
$("ul.awards li").hover(function(){this.className="hover"}).mouseout(function(){this.className=""});

4.然後我們只要查找JumpObj這個js方法的代碼就可以啦.同樣在base.js中查到了此方法:   
代碼如下:
function JumpObj(elem, range, startFunc, endFunc) {
//圖片鼠標移上去的動畫效果,感謝aoao的支持
var curMax = range = range || 6;
startFunc = startFunc || function(){};
endFunc = endFunc || function(){};
var drct = 0;
var step = 1;
init();
function init() { elem.style.position = 'relative';active() }
function active() { elem.onmouseover = function(e) {if(!drct)jump()} }
function deactive() { elem.onmouseover = null }
function jump() {
var t = parseInt(elem.style.top);
if (!drct) motionStart();
else {
var nextTop = t - step * drct;
if (nextTop >= -curMax && nextTop <= 0) elem.style.top = nextTop + 'px';
else if(nextTop < -curMax) drct = -1;
else {
var nextMax = curMax / 2;
if (nextMax < 1) {motionOver();return;}
curMax = nextMax;
drct = 1;
}
}
setTimeout(function(){jump()}, 200 / (curMax+3) + drct * 3);
}
function motionStart() {
startFunc.apply(this);
elem.style.top='0';
drct = 1;
}
function motionOver() {
endFunc.apply(this);
curMax = range;
drct = 0;
elem.style.top = '0';
}
this.jump = jump;
this.active = active;
this.deactive = deactive;
}

5。這樣就大工告成啦. 以後再使用的時候,按下列步驟就可以了
  <1>導入jquery 包,和base.js文件(存放JumpObj方法)
  <2>在頁面加載的時候注冊鼠標移入事件,調用JumpObj方法

源碼打包下載
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved