|
|
|
|
!-- use below as your body tag -->
<body bgcolor="#ffffff" onLoad="fall()">
<!-- paste in body -->
<script language="JavaScript">
<!-- fall Script by kurt.grigg@virgin.net
Amount=20; //Smoothness! depends on image file size, the smaller the size the more you can use!
//Pre-load your image below!
Image0=new Image();
Image0.src="flake1.gif";
Image1=new Image();
Image1.src="flake2.gif";
Image2=new Image();
Image2.src="flake3.gif";
Image3=new Image();
Image3.src="flake4.gif";
Image4=new Image();
Image4.src="flake5.gif";
grphcs=new Array(5)
grphcs[0]="flake1.gif"
grphcs[1]="flake2.gif"
grphcs[2]="flake3.gif"
grphcs[3]="flake4.gif"
grphcs[4]="flake5.gif"
Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();
ns=(document.layers)?1:0;
if (ns){
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+rndPic+"></LAYER>");
}
}
else{
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write('<img id="si" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
}
WinHeight=(document.layers)?window.innerHeight:window.document.body.clientHeight;
WinWidth=(document.layers)?window.innerWidth:window.document.body.clientWidth;
for (i=0; i < Amount; i++){
Ypos[i] = Math.round(Math.random()*WinHeight);
Xpos[i] = Math.round(Math.random()*WinWidth);
Speed[i]= Math.random()*3+2;
Cstep[i]=0;
Step[i]=Math.random()*0.1+0.05;
}
function fall(){
var WinHeight=(document.layers)?window.innerHeight:window.document.body.clientHeight;
var WinWidth=(document.layers)?window.innerWidth:window.document.body.clientWidth;
var hscrll=(document.layers)?window.pageYOffset:document.body.scrollTop;
var wscrll=(document.layers)?window.pageXOffset:document.body.scrollLeft;
for (i=0; i < Amount; i++){
sy = Speed[i]*Math.sin(90*Math.PI/180);
sx = Speed[i]*Math.cos(Cstep[i]);
Ypos[i]+=sy;
Xpos[i]+=sx;
if (Ypos[i] > WinHeight){
Ypos[i]=-60;
Xpos[i]=Math.round(Math.random()*WinWidth);
Speed[i]=Math.random()*5+2;
}
if (ns){
document.layers['sn'+i].left=Xpos[i];
document.layers['sn'+i].top=Ypos[i]+hscrll;
}
else{
si[i].style.pixelLeft=Xpos[i];
si[i].style.pixelTop=Ypos[i]+hscrll;
}
Cstep[i]+=Step[i];
}
setTimeout('fall()',10);
}
//-->
</script>
|
Данный скрипт в опере работает нормально в ие не хочет. появляется снежинка на главной но не падает и одна всего. А в опере все норм работает.
Может кто подскажет в чем проблема.
Или у кого нить есть скипт с новогодним эффектом? | |
|
|
|
|
|
|
|
для: ols
(09.12.2008 в 12:39)
| | На какой помойке нашли столь древний скрипт? :-)
Вот вам небольшой набросок:
<html>
<head>
<script>
var snegP = 'sneg.gif'; //путь к картинке-снежинке
var snegW = 20; //ширина картинки-снежинки в пикселах
var snegH = 20; //высота картинки-снежинки в пикселах
var W1 = 10; //количество "рядов" (натуральное)
var H1 = 3; //количество снежинок в "ряду" (натуральное)
var S1 = 10; //скорость падения (натуральное)
var WR, HR, SO = [], SR = [], ST = [], SL = [];
function snfunc ()
{
for (var j = 0; j < SO.length; j++)
{
var r = SR [j];
if ((ST [j] + snegH + 1) > document.body.clientHeight + document.body.scrollTop)
{SL [j] = (parseInt (Math.random () * 123456789) % (WR - snegW)) + r * WR; ST [j] = 0}
else
{
ST [j]++; SO [j].style.top = ST [j]; var l = SL [j];
var V = new Array (1, -1); var n = V [parseInt (Math.random () * 123456789) % 2];
if (!l) n = 1; if (l > WR * (r + 1) - snegW - 1) n = -1;
SL [j] = l + n; SO [j].style.left = SL [j];
}
}
setTimeout (snfunc, 100 / S1);
}
onload = function ()
{
var z = document.createElement ('img'); z.src = snegP;
with (z.style)
{
position = 'absolute'; zIndex = 99;
width = snegW + 'px'; height = snegH + 'px';
backgroundColor = 'red'; //удалить
}
with (document.body) {WR = Math.floor (clientWidth / W1); HR = Math.floor (clientHeight / H1)}
for (var q = j = 0; j < W1; j++) for (var i = 0; i < H1; i++)
{
SL [q] = (parseInt (Math.random () * 123456789) % (WR - snegW)) + j * WR;
ST [q] = (parseInt (Math.random () * 123456789) % (HR - snegH)) + i * HR;
var t = z.cloneNode (1); with (t.style) {left = SL [q] + 'px'; top = ST [q] + 'px'}
SR [q] = j; SO [q++] = document.body.appendChild (t);
}
snfunc ();
}
</script>
</head>
<body></body></html>
|
| |
|
|
|
|
|
|
|
для: PAT
(09.12.2008 в 16:18)
| | Спасибо,уже придумали свой вариант :)
>На какой помойке нашли столь древний скрипт? :-)
woweb.ru | |
|
|
|
|
автор: Andatr@ (09.12.2008 в 17:16) |
|
|
для: PAT
(09.12.2008 в 16:18)
| | А в Фокс всеравно не работает | |
|
|
|
|
|
|
|
для: Andatr@
(09.12.2008 в 17:16)
| | И почему же не работает?
Мой версии 2.0.0.18 работает как часы.
Что у вас за версия FF и что вам пишет "Консоль ошибок"? | |
|
|
|
|
автор: Andatr@ (09.12.2008 в 21:50) |
|
|
для: PAT
(09.12.2008 в 18:12)
| | Версия Firefox/3.0.4 | |
|
|
|
|
автор: Andatr@ (09.12.2008 в 21:52) |
|
|
для: Andatr@
(09.12.2008 в 21:50)
| | Предупреждение: Ошибка при анализе значения свойства «border». Потерянное объявление.
Источник: http://www.crmmetrix.fr/projects/2007/ah/combeautyfrq37/sitecrm_armani/style.css
Строка: 6 | |
|
|
|
|
|
|
|
для: Andatr@
(09.12.2008 в 21:52)
| | Хи-хи...
Вы разместили мой код на сайте http://www.crmmetrix.fr/ ?
Прежде чем оценивать чей-то код, будьте любезны сначала нажать кнопочку "Очистить" на "Консоли ошибок", а затем уже запускать его в браузере.
Если вы мой код сохранили на своём жестком диске, то "источником" должно быть что-то, начинающееся со слова file:///
Кроме того, никаких объявлений для бордеров в моём коде нет :-) | |
|
|
|
|
|
|
|
для: PAT
(09.12.2008 в 16:18)
| | Может он конечно и древний, но лучше и естественней я скрипта не видел :)
Вот несколько обновлённый вариант предыдущего. У меня во всех браузерах работает.
Amount=15; //Smoothness! depends on image file size, the smaller the size the more you can use!
//Pre-load your image below!
snow_image=new Array();
grphcs=new Array();
for (i=1; i<=5; i++)
{
snow_image[i-1]=new Image();
snow_image[i-1].src="snow/flake"+i+".gif";
grphcs[i-1]="snow/flake"+i+".gif";
}
Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();
document.write('<div style="position:absolute;top:0px;left:0px;z-index:0"><div style="position:relative">');
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write('<img id="si'+i+'" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
WinHeight=window.document.body.clientHeight;
WinWidth=window.document.body.clientWidth;
for (i=0; i < Amount; i++){
Ypos[i] = Math.round(Math.random()*WinHeight);
Xpos[i] = Math.round(Math.random()*WinWidth);
Speed[i]= Math.random()*2+1;
Cstep[i]=0;
Step[i]=Math.random()*0.1+0.05;
}
function fall(){
var WinHeight=window.document.body.clientHeight;
var WinWidth=window.document.body.clientWidth;
for (i=0; i < Amount; i++){
snow = document.getElementById("si"+i);
sy = Speed[i]*Math.sin(90*Math.PI/180);
sx = Speed[i]*Math.cos(Cstep[i]);
Ypos[i]+=sy;
Xpos[i]+=sx;
if (Ypos[i] > WinHeight - snow.height){
Ypos[i]=-60;
Xpos[i]=Math.round(Math.random()*WinWidth);
Speed[i]=Math.random()*5+2;
}
if (Xpos[i] + snow.width >= WinWidth)
Xpos[i] = WinWidth - snow.width;
snow.style.left=Xpos[i]+'px';
snow.style.top=Ypos[i]+'px';
Cstep[i]+=Step[i];
}
setTimeout('fall()',20);
}
window.onload=fall;
|
Вставлять его надо пред закрывающим </body> Когда уже сформирована высота страницы. | |
|
|
|
|
|
|
|
для: KingLion
(13.12.2008 в 14:03)
| | У меня есть: снежинки, космос,феерверк и куча чего ещё. Пиши. www.Tolyattinec.narod.ru | |
|
|
|