基于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学习笔记1 数据类型
Jan 11 Javascript
js获取url参数代码实例分享(JS操作URL)
Dec 13 Javascript
jQuery操作动态生成的内容的方法
May 28 Javascript
JQuery PHP图片在线裁剪实例
Jul 27 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
Dec 09 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
Jan 12 Javascript
Vue实现active点击切换方法
Mar 16 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
Oct 23 Javascript
JavaScript实现电灯开关小案例
Mar 30 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
Apr 13 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
Jul 28 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
Oct 26 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 win下Socket方式发邮件类
2009/08/21 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
PHP5.3新特性小结
2016/02/14 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
干货分享:让你分分钟学会javascript闭包
2015/12/25 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
JS实现数组删除指定元素功能示例
2019/06/05 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
Python映射拆分操作符用法实例
2015/05/19 Python
Python实现大文件排序的方法
2015/07/10 Python
python验证码识别的示例代码
2017/09/21 Python
python自动发送邮件脚本
2018/06/20 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
django和flask哪个值得研究学习
2020/07/31 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
儿科护理实习自我鉴定
2013/09/19 职场文书
珍珠鸟教学反思
2014/02/01 职场文书
公司经理任命书
2014/06/05 职场文书
教师党员整改措施
2014/10/24 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
2014个人年度工作总结
2014/12/15 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
gojs实现蚂蚁线动画效果
2022/02/18 Javascript