如有使用該頁面中非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 閱讀(1697)
評論(2) 編輯 收藏