如有使用该页面中非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 阅读(1689)
评论(2) 编辑 收藏