1 20 50 150 500
欢迎来到哈希软件站,找素材,搜软件,就上哈希软件站!
当前位置 >首页 >软件下载 >电脑软件 >编程开发 >源码相关

实现百度的鼠标移入图片抖动的特效

软件信息
  • 分类:源码相关
  • 大小:32KB
  • 语言: 中文
  • 环境: WinXP, WinAll
  • 更新:2024-11-13
  • 评级:
  • 系统: Windows Linux Mac Ubuntu
  • 软件类别: 国产软件 / 免费软件 / 源码相关
  • 插件情况:
  • 相关链接: http://www.cr173.com/

偶尔看到了百度的广告特效,在鼠标放到图片上, 图片会有个上下抖动的特效。很喜欢这种感觉。在于是摸索了一下,下面是一些步骤。
1。查看源文件,在查看后很纳闷的发现,此页并没有包含那些奖品信息。这样就断定代码在另一个页面中。于是想当然的以为是用的框架连接的地址。结果没查到,却看到了一个这样的信息:

  可以看到此页面是用task-awards为ID的div当容器的,所以,单击页面上的JS文件,查找task-awards

  2。终于皇天不负有心人,在base.js中查到了这段代码,可以看到被映射到了awards.html地址,加之下面的widget/ 路径.所以此页面的完整路径就被找出来了

为:http://www.baidu.com/search/baike/usertask/mingmantianxia/widget/awards.html

01 function getWidgets(){

02 var modules = {

03 "task-intro-box":"intro.html"

04 ,"task-awards":"awards.html"

05 ,"task-gongao":"gongao.html"

06 ,"task-rule":"rule.html"

07 ,"faq":"faq.html"

08 ,"task-gongao":"gongao.html"

09 };

10 $.each(modules,function(key,val){

11 if(G(key) ){

12 $.get("widget/"+val ,function(data){

13 $(data).appendTo($("#"+key));

14 });

15 }

16

17 });

18

19 }

  3。查看awards.html 页面的源文件.可以看到这段图片效果的调用

1 $("ul.awards img").each(function(k,img){

2 new JumpObj(img,10);

3 $(img).hover(function(){this.parentNode.parentNode.className="hover"});

4 $(img.parentNode).click(function(){return false;});//阻止被点击

5 })

6 $("ul.awards li").hover(function(){this.className="hover"}).mouseout(function(){this.className=""});

  4.然后我们只要查找JumpObj这个js方法的代码就可以啦.同样在base.js中查到了此方法:   

01 function JumpObj(elem, range, startFunc, endFunc) {

02 //图片鼠标移上去的动画效果,感谢aoao的支持

03 var curMax = range = range || 6;

04 startFunc = startFunc || function(){};

05 endFunc = endFunc || function(){};

06 var drct = 0;

07 var step = 1;

08

09 init();

10

11 function init() { elem.style.position = 'relative';active() }

12 function active() { elem.onmouseover = function(e) {if(!drct)jump()} }

13 function deactive() { elem.onmouseover = null }

14

15 function jump() {

16 var t = parseInt(elem.style.top);

17 if (!drct) motionStart();

18 else {

19 var nextTop = t - step * drct;

20 if (nextTop >= -curMax && nextTop <= 0) elem.style.top = nextTop + 'px';

21 else if(nextTop < -curMax) drct = -1;

22 else {

23 var nextMax = curMax / 2;

24 if (nextMax < 1) {motionOver();return;}

25 curMax = nextMax;

26 drct = 1;

27 }

28 }

29 setTimeout(function(){jump()}, 200 / (curMax+3) + drct * 3);

30 }

31 function motionStart() {

32 startFunc.apply(this);

33 elem.style.top='0';

34 drct = 1;

35 }

36 function motionOver() {

37 endFunc.apply(this);

38 curMax = range;

39 drct = 0;

40 elem.style.top = '0';

41 }

42

43 this.jump = jump;

44 this.active = active;

45 this.deactive = deactive;

46 }

   5。这样就大工告成啦. 以后再使用的时候,按下列步骤就可以了

  <1>导入jquery 包,和base.js文件(存放JumpObj方法)

  <2>在页面加载的时候注册鼠标移入事件,调用JumpObj方法
百度效果页面:http://www.baidu.com/search/baike/usertask/mingmantianxia/

下载地址

热门软件

Top