Скрипт для сайта на снег

Discussion in 'PHP' started by Rikardo, 30 Nov 2010.

  1. Rikardo

    Rikardo New Member

    Joined:
    12 Feb 2010
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Люди, подскажите. Скрипт на падающий снег. Сам не могу сделать, гуглил, там есть скрипт, но он почемуто у меня работает только в Опере и IE, в остальных тупо в углу верхнем левом снежинка стоит. Если в начале документа стереть стандартное и написать просто <html> снег канает но из-за это нарушается вид сайта, так что такой вариант не подходит.
    И еще такой вопрос как сделать так чтобы если снежинка залазиет сбоку за экран, так бох с ней пусть залезла, а нет появляется полоса прокрутки.

    Code:
    <script language="javascript1.2">    
          grphcs=new Array(2);    
    Image0=new Image();    
    Image0.src=grphcs[0]="/sneg.gif";    
    Image1=new Image();    
    Image1.src=grphcs[1]="/sneg1.gif";    
          Amount=60;      
    Ypos=new Array();    
    Xpos=new Array();    
    Speed=new Array();    
    Step=new Array();    
    Cstep=new Array();    
    ns=(document.layers)?1:0;    
    ns6=(document.getElementById&&!document.all)?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];//osw    
    document.write('<img id="si'+i+'" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');    
    }    
    document.write('</div></div>');    
    }    
    WinHeight=620;    
    WinWidth=(ns||ns6)?window.innerWidth-70: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]= 2;    
          Cstep[i]=0;    
          Step[i]=Math.random()*0.1+0.2;      
    }    
    function fall(){    
    var WinHeight=620;    
    var WinWidth=(ns||ns6)?window.innerWidth-70:window.document.body.clientWidth;    
    var hscrll=(ns||ns6)?window.pageYOffset:document.body.scrollTop;    
    var wscrll=(ns||ns6)?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]=2;    
    }    
    if (ns){    
    document.layers['sn'+i].left=Xpos[i];    
    document.layers['sn'+i].top=Ypos[i]+hscrll;    
    }    
    else if (ns6){    
    document.getElementById("si"+i).style.left=Math.min(WinWidth,Xpos[i]);    
    document.getElementById("si"+i).style.top=Ypos[i]+hscrll;    
    }    
    else{    
    eval("document.all.si"+i).style.left=Xpos[i];    
    eval("document.all.si"+i).style.top=Ypos[i]+hscrll;    
    }      
    Cstep[i]+=Step[i];    
    }    
    setTimeout('fall()',40);    
    }    
          window.onload=fall    
    //-->    
    </script>
     
  2. roxblnfk

    roxblnfk Elder - Старейшина

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    /showthread.php?t=219840-javascript+%F1%ED%E5%E3
     
  3. Rikardo

    Rikardo New Member

    Joined:
    12 Feb 2010
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Что то мне не понравился снег с скрипта, что ты предложил. Мне бы на мой предложеный, найти выход, чтоб коректно в браузерах отображался и чтоб если за экран залетела снежинка так полосы прокрутки небло чтоб, пусть дальше летит себе за экраном. Или альтернатива к этому чтоб вообще не залетали, шли только по экрану.
     
  4. Гаврила

    Гаврила Elder - Старейшина

    Joined:
    24 Oct 2005
    Messages:
    273
    Likes Received:
    88
    Reputations:
    17
    Ставь ещё летающих Дедов Морозов, и обязательно фоновую музыку.
    Скриптов этих валом.
    Только вот реализовать кроссбразузерный скрипт снега это практически не реально.
    А вообще, снег на сайте нужен, как спойлер на жигулях. Ну или наклейки от жевачек на торпеде BMW...
    Потратишь много времени, и в конце откажешься от этой затеи.
    А если не откажешься, то в результате потеряешь траф. Люди бегут с таких сайтов.
     
  5. Rikardo

    Rikardo New Member

    Joined:
    12 Feb 2010
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Гаврила, лучше бы вообще ни писал ни чего.

    Народ, все еще актуально, в двух моих постах что выше, написано какой помощи ищу.
     
  6. Гаврила

    Гаврила Elder - Старейшина

    Joined:
    24 Oct 2005
    Messages:
    273
    Likes Received:
    88
    Reputations:
    17
    Я же тебе ответил по твоему вопросу.
    В какой нибудь говно-Опере, он всё равно будет криво отбражаться.
    Ты мне не веришь? Тогда продолжай тупить в том же духе.
     
  7. New!

    New! New Member

    Joined:
    16 Nov 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0

    Ахахах +1
     
  8. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    164
    Likes Received:
    43
    Reputations:
    0
    JavaScript
    Создать snow.js
    Code:
    grphcs=new Array(2);
    
    Image0=new Image();
    
    Image0.src=grphcs[0]="http://s42.radikal.ru/i095/1012/b8/44aac29543b3.gif";
    
    Image1=new Image();
    
    Image1.src=grphcs[1]="http://s42.radikal.ru/i095/1012/b8/44aac29543b3.gif";
    
          Amount=15;
    
    Ypos=new Array();
    
    Xpos=new Array();
    
    Speed=new Array();
    
    Step=new Array();
    
    Cstep=new Array();
    
    ns=(document.layers)?1:0;
    
    ns6=(document.getElementById&&!document.all)?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];//osw
    
    document.write('<img id="si'+i+'" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
    
    }
    
    document.write('</div></div>');
    
    }
    
    WinHeight=600;
    
    WinWidth=(ns||ns6)?window.innerWidth-70: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]= 1.2;
    
          Cstep[i]=0;
    
          Step[i]=Math.random()*0.1+0.2;
    
    }
    
    function fall(){
    
    var WinHeight=610;
    
    var WinWidth=(ns||ns6)?window.innerWidth-70:window.document.body.clientWidth;
    
    var hscrll=(ns||ns6)?window.pageYOffset:document.body.scrollTop;
    
    var wscrll=(ns||ns6)?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]=1;
    
    }
    
    if (ns){
    
    document.layers['sn'+i].left=Xpos[i];
    
    document.layers['sn'+i].top=Ypos[i]+hscrll;
    
    }
    
    else if (ns6){
    
    document.getElementById("si"+i).style.left=Math.min(WinWidth,Xpos[i]);
    
    document.getElementById("si"+i).style.top=Ypos[i]+hscrll;
    
    }
    
    else{
    
    eval("document.all.si"+i).style.left=Xpos[i];
    
    eval("document.all.si"+i).style.top=Ypos[i]+hscrll;
    
    }
    
    Cstep[i]+=Step[i];
    
    }
    
    setTimeout('fall()',40);
    
    }
    
          window.onload=fall
    
    //-->
    
    поставить везде где хотите снег вот этот скрипт
    <script type="text/javascript" src="snow.js"></script>
     
  9. NataLee

    NataLee New Member

    Joined:
    14 Dec 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Есть ещё хороший способ размещения снега!

    Все-всем-всем у кого есть сайт, компания Exiterra дарит собственную разработку: украшение сайта к новому 2012 году! Вы можете легко украсить свой сайт снегом и Дед Морозом с персональным поздравлением от вашей компании! Для того, чтобы воспользоваться предложением компании, нужно скачать скрипты на официальном сайте Exiterra по следующей ссылке:
    http://www.exiterra.ru/sneg_na_site_ded_moroz.htm.

    Установить на свой сайт снег и Деда Мороза вы можете самостоятельно или обратившись в компанию разработчика по телефону 8 (495) 790-54-90. Счастливого Нового Года!!!! :)