-2

这段代码从您的网页中提取所有图像并将它们旋转一圈。真的让任何页面都变得赤裸裸(没有图像)。最好的测试地点是一个有很多图片的网站。(例如 Google 图片)。只需将这些代码放在任何网站的 url 中,例如 goggle,记住你需要手动输入“javascript:”

 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.getElementsByTagName("img");
 DIL=DI.length; 
 function A(){for(i=0; i-DIL; i++)//is equal to for(i=0; i < DIL; i++)
 { 
 DIS=DI[ i ].style;
 DIS.position='absolute';
 DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+"px"; 
 DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+"px"}

R++

}
 setInterval('A()',5); void(0);//u can also use undefined here or u can pass these code to void(all code goes here);
//but u should not pass return false as it is used within a function to exit and return specified value

当返回未定义时,浏览器会读取它并且不会离开当前页面。如果没有放置,它会重定向到下一个空白页面。所以它是强制性的。你也可以将表达式传递给 void(exp here),它将被评估没有问题,但主要要记住的是它总是返回未定义的,这对于浏览器来说是必要的,还记得 javascript: 是一个类似于 http: 的 uri 方案,所以你知道什么时候知道要放置到 url 的地址浏览器导航到该页面,即使它不存在。 javascript:scheme,浏览器执行javascript代码并将其写入新页面。uri末尾的void运算符返回未定义,如void(exp)/void exp返回未定义,它被执行并阻止浏览器采取默认操作

如果你仔细看上面的代码,它会旋转 HTML“img”标签。只需将其替换为“a”或“p”并观看一些链接或文本旋转而不是图像。但是任何人都可以解释代码中实际发生的事情吗?还有“javascript:”关键字实际上是做什么的?

在超文本文档的 href 属性中,它使用 http 方案。其他时候我们可以使用 javascript: 方案

4

1 回答 1

3

您需要注意两个部分:

setInterval('A()', 5);

A这将每5毫秒执行一次函数。

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)+"px"; 
        DIS.top = (Math.cos(R*y1+i*y2+y3)*y4+y5)+"px";
    }
    R++;
}

此函数循环遍历找到的每个元素,将其位置设置为绝对位置(不必一遍又一遍地执行此操作),然后调整其lefttop值,从而在视口中每 5 毫秒在新位置重新绘制它。

如果您对定位每个元素的下一个位置的数学感到困惑,那么这些问题的位置完全不同

于 2013-02-06T05:42:49.633 回答