基于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 相关文章推荐
用ASP将SQL搜索出来的内容导出为TXT的代码
Jul 27 Javascript
js获取当前select 元素值的代码
Apr 19 Javascript
js图片预加载示例
Apr 30 Javascript
Javascript URI 解析介绍
Mar 15 Javascript
js+html5实现canvas绘制圆形图案的方法
Jun 05 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
Sep 18 Javascript
基于JavaScript创建动态Dom
Dec 08 Javascript
原生js实现焦点轮播图效果
Jan 12 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
Mar 03 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
May 12 Javascript
js仿360开机效果
Dec 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
极典R601SW收音机
2021/03/02 无线电
PHP编码规范-php coding standard
2007/03/16 PHP
PHP判断变量是否为0的方法
2014/02/08 PHP
php读取csc文件并输出
2015/05/21 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
javascript实现行拖动的方法
2015/05/27 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
JS原形与原型链深入详解
2020/05/09 Javascript
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
在Python中使用Mako模版库的简单教程
2015/04/08 Python
Python通过future处理并发问题
2017/10/17 Python
python 批量修改/替换数据的实例
2018/07/25 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
2020/07/01 Python
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
大学生毕业自我鉴定范文
2013/09/19 职场文书
小学班主任评语
2014/12/29 职场文书
小平您好观后感
2015/06/09 职场文书
新党员入党决心书
2015/09/22 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
Python实现聚类K-means算法详解
2022/07/15 Python