Pages

среда, 12 декабря 2012 г.

Пост о скрипте Деда Мороза и падающих снежинках

Новый год к нам мчится, скоро всё случится,
Сбудется, что снится,
Что опять нас обманут, ничего не дадут,
Ждать уже недолго, скоро будет ёлка,
Только мало толка,
Если Дед Морозу песню дети не запоют.
Дискотека Авария

Никогда не говори никогда. Сколько прошло уже праздников посвященных Новому году и ни разу не занимался украшательством сайтов по этому поводу. Во-первых, это надо сесть и потратить время, чтобы разобраться со скриптами, во-вторых, эти скрипты тормозят загрузку ресурса как-никак, что не есть хорошо.

Пост о скрипте Деда Мороза и падающих снежинках

Скрипт Деда Мороза, который показывается в левом верхнем углу вашего сайта в виде флеш-мультика, нашел на просторах интернета. Так что это баян с 2010 года. Но может кому-нибудь еще понадобится. Тем более копирайты здесь затерты в отличие от оригинала, где была прописана во флеше ссылка на сайт разработчиков скрипта.

Можно отредактировать послание по своему вкусу.


Ниже тот скрипт, который надо скопировать и вставить к себе на сайт. Текст, если не нравится, изменить на свой, используя все теги html-разметки, чтоб было красиво.

Начинайте копировать от сюда:

<script> var congratulations = "Дорогие Друзья! Наша компания поздравляет Вас с наступающим Новым 2013 годом! Желаем Вам счастья, любви и успехов в профессиональной деятельности!"; </script> <script language="javascript" src="http://zamkadnyi.narod.ru/scr/dedmoroz/dedm.js"></script> 

- и до сюда.

Трудно найти сейчас в интернете место, куда положить бы swf-файл. Dropbox, который так выручал и тот закрыл эту возможность расшаривания. Надежда только на Яндекс.Народ, но и он постоянно виснет. Так что, если есть возможность, перезалейте файлы на свой хостинг - тогда Дед Мороз будет всегда с вами, даже летом и вы будете спокойны.

Внутренности скрипта таковы:

var host_name = window.location.hostname;
function hidden_dedm() { document.getElementById("dedm").style.display = 'none'; }
document.write('<div id="dedm" style="position:fixed!important;display:block;position:absolute;left:0px;top:0px;z-index:1900;"><div style="position:relative; z-index:2000;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="600" height="400" align="middle"> <param name="allowScriptAccess" value="always" /> <param name="movie" value="http://zamkadnyi.narod.ru/scr/dedmoroz/');
document.write('dedm.swf" /> <param name="menu" value="false" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffcccc" /> <param name="wmode" value="transparent"> <param name="FlashVars" value="pozdr=');
document.write(congratulations);
document.write('" /> <embed src="http://zamkadnyi.narod.ru/scr/dedmoroz/');
document.write('dedm.swf" width="600" height="400" align="middle" menu="false" quality="high" bgcolor="#ffcccc" name="dedm" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" FlashVars="pozdr=');
document.write(congratulations);
document.write('" /></object></div></div>');


И теперь не хватает снега на сайте. Добавим скрипт снега, который опять так же качует с блога на блог. И дело в том, что снежных скриптов очень много, но не все они либо легко устанавливаются, либо правильно отображаются в браузерах.

Скрипт снега вставляется так же в виде JavaScript'a. Вот он:

<script src='http://zamkadnyi.narod.ru/scr/sneg/sneg.js'> </script>

Тут всего один тип снежинки. Во внутренности скипта лезть не буду, хотя там есть возможность настроить и количество снежинок, время когда снег прекратит идти и будет идти на все видимое окно или html-страницу.

Собственно вот они, внутренности скрипта:

//Configure below to change URL path to the snow image
  var snowsrc="http://zamkadnyi.narod.ru/scr/sneg/sneg.gif"
  // Configure below to change number of snow to render
  var no = 10;
  // Configure whether snow should disappear after x seconds (0=never):
  var hidesnowtime = 0;
  // Configure how much snow should drop down before fading ("windowheight" or "pageheight")
  var snowdistance = "pageheight";

  var ie4up = (document.all) ? 1 : 0;
  var ns6up = (document.getElementById&&!document.all) ? 1 : 0;
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
  var dx, xp, yp;    // coordinate and position variables
  var am, stx, sty;  // amplitude and step variables
  var i, doc_width = 800, doc_height = 600; 
    if (ns6up) {
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
  } else if (ie4up) {
    doc_width = iecompattest().clientWidth;
    doc_height = iecompattest().clientHeight;
  }
  dx = new Array();
  xp = new Array();
  yp = new Array();
  am = new Array();
  stx = new Array();
  sty = new Array();
  snowsrc=(snowsrc.indexOf("dynamicdrive.com")!=-1)? "snow.gif" : snowsrc
  for (i = 0; i < no; ++ i) {  
    dx[i] = 0;                        // set coordinate variables
    xp[i] = Math.random()*(doc_width-50);  // set position variables
    yp[i] = Math.random()*doc_height;
    am[i] = Math.random()*20;         // set amplitude variables
    stx[i] = 0.02 + Math.random()/10; // set step variables
    sty[i] = 0.7 + Math.random();     // set step variables
if (ie4up||ns6up) {
      if (i == 0) {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
      } else {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
      }
    }
  }
  function snowIE_NS6() {  // IE and NS6 main animation function
    doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10;
doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")?  iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight;
    for (i = 0; i < no; ++ i) {  // iterate for every dot
      yp[i] += sty[i];
      if (yp[i] > doc_height-50) {
        xp[i] = Math.random()*(doc_width-am[i]-30);
        yp[i] = 0;
        stx[i] = 0.02 + Math.random()/10;
        sty[i] = 0.7 + Math.random();
      }
      dx[i] += stx[i];
      document.getElementById("dot"+i).style.top=yp[i]+"px";
      document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px";  
    }
    snowtimer=setTimeout("snowIE_NS6()", 10);
  }
function hidesnow(){
if (window.snowtimer) clearTimeout(snowtimer)
for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"
}
if (ie4up||ns6up){
    snowIE_NS6();
if (hidesnowtime>0)
setTimeout("hidesnow()", hidesnowtime*1000)


Итак, чтоб на вашем сайте появились Дед Мороз со снегом и вы хотите это сделать быстро и без заморочек, то просто скопируйте вот эти строчки:

<script>var congratulations = "<p></p><p align='center'><font color='#ff0000'>Дорогие Друзья!</font></p><p></p><p align='center'>Замкадный поздравляет Вас с наступающим <br/>Новым 2013 годом!</p><p align='center'>Желаю Вам счастья, любви и успехов в профессиональной деятельности!</p><p></p>";
</script><script language="javascript" src="http://zamkadnyi.narod.ru/scr/dedmoroz/dedm.js"></script><script src='http://zamkadnyi.narod.ru/scr/sneg/sneg.js'> </script>

Спасибо за внимание!

8 комментариев:

  1. здравствуйте, Вы как-то писали что у Вас есть Исповедь задрота в fb2, скиньте, если осталась, а то при конвертации из pdf выходит файл под 100 метров и телефон его не хочет читать akoshel87@gmail.com

    ОтветитьУдалить
  2. Исповедь задрота вот тут выложил в fb2 http://yadi.sk/d/FC9lF8JC1CRnG, да простит меня Баблоруб

    ОтветитьУдалить
  3. спасибо за статью и ссылочки! вот тут тоже очень много скриптов http://www.darii.ru/

    ОтветитьУдалить
  4. Собственно, Дед Мороз с этого ресурса и разошелся по всему Рунету

    ОтветитьУдалить
  5. страшные какие-то снежинки в квадратике))
    а вот поздравление очень даже симпатично выглядит)
    жаль поздно увидела

    ОтветитьУдалить
  6. оой подвисает чуток страница из-за деда мороза,а идея отличная

    ОтветитьУдалить
  7. Еще более странно, что Поликорбонат с Зазабором вещает от женского лица. А снежинки квадратные это из-за стилей этого блога. Вам такое не грозит.

    ОтветитьУдалить
  8. Глючные и хреновые снежинки, а дедок норм

    ОтветитьУдалить

Есть мнение, отзыв или предложение - пиши сюда!