随笔 - 44  文章 - 78  trackbacks - 0
<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

 Happy 牛 Year
一、一周至少写一篇博文;
二、每天至少学习半个小时。
三、奔向小牛!

常用链接

留言簿(6)

我参与的团队

随笔分类

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

如有使用该页面中非js脚本源代码的内容,请注明出处 by Tiger1102

最近网上流传着一种将当前页面中的图片位置进行变换的代码,感觉比较好玩,就想简单了解一下,大家如果感兴趣可以一起探讨,呵呵。
注:网上粘贴的代码是整个都未换行的,为了看着方便,我做了
格式处理,不过经过处理后的粘到地址栏里可能显示效果有问题
,最后我会给出网上流传的格式。
//首先声明是javascript脚本
//然后定义各个变量,注意在下面的使用中除R变量一直变化外,其它都是固定不变的
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6;
y3=.24; x4=300; y4=200; x5=300; y5=200;
//获取当前页面所有的图片元素
DI=document.images;
//获取图片元素个数
DIL=DI.length;
//定义函数,功能是循环获取每个图片元素样式,将图片位置进行改变
function A(){
//注意这里的i-DIL,等同于i-DIL<0,如果起初i-DIL>0的话,这里就等同于i-DIL>0,网上找资料未果,就自己猜测并验证了一下,如果谁知道的话可以和小弟说一下
   for(i=0; i-DIL; i++){
//根据下标获取每个图片元素样式
        DIS=DI.style;
//将图片对象从文档流中拖出,然后使用下面的left、top对图片元素进行绝对定位
        DIS.position='absolute';
//定位图形距离屏幕左边的距离
//每个图片显示位置的不同,是通过函数中的i控制的
//每次A()函数执行完成后,再次执行时,图片会换位置是通过R
的变换来控制的
//图片只所以循环在固定的几个位置上是根据Math.sin和Math.cos和x1,x2,x3,y1,y2,y3来计算的,如果想了解更详细可以进一步熟悉这两个函数

        DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;          
        //定位图形距离屏幕右边的距离
DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5
   }
   R++
}
//定义执行A()函数的间隔时间,单位为毫秒,下面是5毫秒执行一次
setInterval('A()',5);
//下面的void(0)为了使页面不跳转,如果去除,则将会根据上面的代码内容,转向一个新的页面
void(0);


网上流传的最初代码,如果没有试过的可以看下效果哈,只要找一个含有图片的地址,将下面代码拷贝到地址栏,回车就OK了:
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length;function A(){   for(i=0; i-DIL; i++){        DIS=DI[ i ].style;         DIS.position='absolute';        DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;  DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5   }   R++ } setInterval('A()',5);void(0);
posted on 2009-05-18 17:22 Tiger1102 阅读(1678) 评论(2)  编辑  收藏

FeedBack:
# re: 关于网上流行的图片飘移代码的简解  2009-06-16 11:05 ni jiejie
这是你发现的还是自己写的啊?  回复  更多评论
  
# re: 关于网上流行的图片飘移代码的简解  2009-06-22 11:58 ni jiejie
咋不说话,想啥呢?  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: