基于jquery的仿百度的鼠标移入图片抖动效果


Posted in Javascript onSeptember 17, 2010

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方法

源码打包下载

Javascript 相关文章推荐
JS获取农历日期具体实例
Nov 14 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
Dec 28 Javascript
详解AngularJS中的表达式使用
Jun 16 Javascript
Javascript中apply、call、bind的巧妙使用
Aug 18 Javascript
jQuery实现的无限级下拉菜单功能示例
Sep 12 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
Dec 06 Javascript
vue.js使用watch监听路由变化的方法
Jul 08 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
Dec 25 Javascript
微信小程序结合mock.js实现后台模拟及调试
Mar 28 Javascript
微信小程序合法域名配置方法
May 06 Javascript
基于js实现抽红包并分配代码实例
Sep 19 Javascript
解决vue watch数据的方法被调用了两次的问题
Nov 07 Javascript
js下用eval生成JSON对象
Sep 17 #Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
Sep 16 #Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
Sep 15 #Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
Sep 15 #Javascript
基于JQuery的简单实现折叠菜单代码
Sep 15 #Javascript
jQuery获取css z-index在各种浏览器中的返回值
Sep 15 #Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
Sep 14 #Javascript
You might like
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
php实现文件下载(支持中文文名)
2013/12/04 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
python动态文本进度条的实例代码
2020/01/22 Python
Tensorflow累加的实现案例
2020/02/05 Python
Django如何批量创建Model
2020/09/01 Python
flask项目集成swagger的方法
2020/12/09 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
社区工作者演讲稿
2014/05/23 职场文书
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS