java教程:使主页呈现“飞舞”特效
朋友,“天上掉陷饼”都听说过吧?呵呵,陷饼它算个么,今天教你一个天上掉¥的招儿,并且~~哗啦啦地掉!哈~哈~哈,来吧^_*
首先看效果
将下面的javascript代码加到< head >区就成了:
< script language="javascript" >
< !-- begin
var no = 30;
//设定下落字符数量
var speed = 5;
//设定字符下落的速度
var ns4up = (document.layers) ? 1 : 0;
var ie4up = (document.all) ? 1 : 0;
//netscap和ie两种不同浏览器各自进行定义
var s, x, y, sn, cs;
var a, r, cx, cy;
var i, doc_width = 800, doc_height = 600;
//设定字符下落区域为800*600
if (ns4up) {
doc_width = self.innerwidth;
doc_height = self.innerheight;
}
else
if (ie4up) {
doc_width = document.body.clientwidth;
doc_height = document.body.clientheight;
}
//netscap和ie两种浏览器有别
x = new array();
y = new array();
r = new array();
cx = new array();
cy = new array();
s = 8;
for (i = 0; i < no; ++ i) {
initrain();
//定义变量数组x, y, cx, cy, s
if (ns4up) {
if (i == 0) {
document.write("< layer name=\"dot"+ i +"\" left=\"1\" ");
document.write("top=\"1\" visibility=\"show\" >< font color=\"white\" >");
document.write(",¥< /font >< /layer >");
}
else {
document.write("< layer name=\"dot"+ i +"\" left=\"1\" ");
document.write("top=\"1\" visibility=\"show\" >< font color=\"white\" >");
document.write(", $ < /font >< /layer >");
}
}
//当i==0满足与否时,netscap中的表现
else
if (ie4up) {
if (i == 0) {
document.write("< div id=\"dot"+ i +"\" style=\"position: ");
document.write("absolute; z-index: "+ i +"; visibility: ");
document.write("visible; top: 15px; left: 15px;\" >< font size=\"10\" color=\"white\" >");
document.write("¥< /font >< /div >");
}
else {
document.write("< div id=\"dot"+ i +"\" style=\"position: ");
document.write("absolute; z-index: "+ i +"; visibility: ");
document.write("visible; top: 15px; left: 15px;\" >< font size=\"10\" color=\"white\" >");
document.write(" $ < /font >< /div >"); //设定要下落的的字符(¥、$)及位置
}
}
//当i==0满足与不满足时,ie浏览器中的表现
}
function initrain() {
a = 6;
r = 1;
sn = math.sin(a);
cs = math.cos(a);
cx = math.random() * doc_width + 1;
cy = math.random() * doc_height + 1;
x = r * sn + cx;
y = cy;
}
function makerain() {
r = 1;
cx = math.random() * doc_width + 1;
cy = 1;
x = r * sn + cx;
y = r * cs + cy;
}
function updaterain() {
r += s;
x = r * sn + cx;
y = r * cs + cy;
}
function raindropns() {
for (i = 0; i < no; ++ i) {
updaterain();
//定义变量数组 a , sn , cs , cx, cy, s
if ((x < = 1) || (x >= (doc_width - 20)) || (y >= (doc_height - 20))) {
makerain();
doc_width = self.innerwidth;
doc_height = self.innerheight;
}
document.layers["dot"+i].top = y;
document.layers["dot"+i].left = x;
}
settimeout("raindropns()", speed);
}
function raindropie() {
for (i = 0; i < no; ++ i) {
updaterain();
//在netscap浏览器中的付值过程
if ((x < = 1) || (x >= (doc_width - 20)) || (y >= (doc_height - 20))) {
makerain();
doc_width = document.body.clientwidth;
doc_height = document.body.clientheight;
}
document.all["dot"+i].style.pixeltop = y;
document.all["dot"+i].style.pixelleft = x;
}
settimeout("raindropie()", speed);
}
if (ns4up) {raindropns(); }
else
if (ie4up) {raindropie(); }
//在ie浏览器中的付值过程
// end -- >
< /script >