基于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 17 Javascript
js原型继承的两种方法对比介绍
Mar 30 Javascript
seaJs的模块定义和模块加载浅析
Jun 06 Javascript
jQuery中width()方法用法实例
Dec 24 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
Jul 31 Javascript
Vue中img的src属性绑定与static文件夹实例
May 18 Javascript
vue页面跳转后返回原页面初始位置方法
Feb 11 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
Jul 24 jQuery
基于vue的验证码组件的示例代码
Jan 22 Javascript
JavaScript函数定义方法实例详解
Mar 05 Javascript
inquirer.js一个用户与命令行交互的工具详解
May 18 Javascript
Element ui 下拉多选时新增一个选择所有的选项
Aug 21 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中检查文件或目录是否存在的代码小结
2012/10/22 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
[55:35]VGJ.S vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
使用python实现生成用户信息
2017/03/20 Python
使用tensorflow实现AlexNet
2017/11/20 Python
Python正则表达式和元字符详解
2018/11/29 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
Django 请求Request的具体使用方法
2019/11/11 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
2020/04/07 HTML / CSS
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
婴儿地球:Baby Earth
2018/12/25 全球购物
大学四年个人自我小结
2014/03/05 职场文书
公司接待方案
2014/03/08 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
个人自荐书怎么写
2015/03/26 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
python中redis包操作数据库的教程
2022/04/19 Python
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技