基于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 相关文章推荐
javascript 函数速查表
Feb 07 Javascript
JQuery浮动DIV提示信息并自动隐藏的代码
Aug 29 Javascript
如何解决Jquery库及其他库之间的$命名冲突
Sep 15 Javascript
jquery 根据name名获取元素的value值
Feb 27 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
Apr 22 Javascript
JavaScript中constructor()方法的使用简介
Jun 05 Javascript
javascript实现瀑布流加载图片原理
Feb 02 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
Mar 19 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
Mar 28 jQuery
koa-router源码学习小结
Sep 07 Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 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
php 静态变量与自定义常量的使用方法
2010/01/26 PHP
php文件上传的简单实例
2013/10/19 PHP
php使用mkdir创建多级目录入门例子
2014/05/10 PHP
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
jquery创建div 实现代码
2009/04/27 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
Python中逗号的三种作用实例分析
2015/06/08 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
英语系本科生个人求职信
2013/09/21 职场文书
运动会广播稿200米
2014/01/27 职场文书
工艺员岗位职责
2014/02/11 职场文书
美术教师自我鉴定
2014/02/12 职场文书
房屋公证委托书
2014/04/03 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
结婚司仪主持词
2015/06/29 职场文书
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA