Seo-Бизнес блог Progress-project

Все о создании, продвижении сайтов и заработке в интернете

Обновлённый дизайн блога Progress-project
logotip «Progress-project»
logotip «Progress-project»

Как сделать падающие снежинки на сайте

Здравствуйте уважаемые друзья — вебмастера, с приближением нашего главного зимнего праздника новый год! Я всё чаще стал получать различные вопросы на тему связанную с украшением блога. Из которых наиболее распространённый это, как сделать падающие снежинки на сайте? Очень многие из моих знакомых желают в преддверии этого весёлого зимнего праздника украсить свои проекты. Конечно есть много вариантов, как сделать свой блог более праздничным, мы же сегодня рассмотрим только один из них, как я уже сказал самый популярный. Сегодня мы поговорим с вами о том, как без плагина с помощью достаточно простого скрипта можно сделать падающие снежинки на своём сайте.

Как сделать снежинки на сайте

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

var snowmax=500

// Set the colors for the snow. Add as many colors as you like
var snowcolor=new Array("#b9dff5","#A5D6F2","#98D0F0","#86C7ED","#79C1EB")

// Set the fonts, that create the snowflakes. Add as many fonts as you like
var snowtype=new Array("Times")

// Set the letter that creates your snowflake (recommended: * )
var snowletter="*"

// Set the speed of sinking (recommended values range from 0.3 to 2)
var sinkspeed=0.6

// Set the maximum-size of your snowflakes
var snowmaxsize=35

// Set the minimal-size of your snowflakes
var snowminsize=8

// Set the snowing-zone
// Set 1 for all-over-snowing, set 2 for left-side-snowing
// Set 3 for center-snowing, set 4 for right-side-snowing
var snowingzone=1

// Do not edit below this line
var snow=new Array()
var marginbottom
var marginright
var timer
var i_snow=0
var x_mv=new Array();
var crds=new Array();
var lftrght=new Array();
var browserinfos=navigator.userAgent
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all
var opera=browserinfos.match(/Opera/)
var browserok=ie5||ns6||opera

function randommaker(range) {
        rand=Math.floor(range*Math.random())
    return rand
}

function initsnow() {
        if (ie5 || opera) {
                marginbottom = document.body.scrollHeight
                marginright = document.body.clientWidth-15
        }
        else if (ns6) {
                marginbottom = document.body.scrollHeight
                marginright = window.innerWidth-15
        }
        var snowsizerange=snowmaxsize-snowminsize
        for (i=0;i<=snowmax;i++) {
                crds[i] = 0;
            lftrght[i] = Math.random()*15;
            x_mv[i] = 0.03 + Math.random()/10;
                snow[i]=document.getElementById("s"+i)
                snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)]
                snow[i].size=randommaker(snowsizerange)+snowminsize
                snow[i].style.fontSize=snow[i].size+'px';
                snow[i].style.color=snowcolor[randommaker(snowcolor.length)]
                snow[i].style.zIndex=1000
                snow[i].sink=sinkspeed*snow[i].size/5
                if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
                if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
                if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
                if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
                snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size)
                snow[i].style.left=snow[i].posx+'px';
                snow[i].style.top=snow[i].posy+'px';
        }
        movesnow()
}

function movesnow() {
        for (i=0;i<=snowmax;i++) { crds[i] += x_mv[i]; snow[i].posy+=snow[i].sink snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i])+'px'; snow[i].style.top=snow[i].posy+'px'; if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){
                        if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
                        if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
                        if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
                        if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
                        snow[i].posy=0
                }
        }
        var timer=setTimeout("movesnow()",50)
}

for (i=0;i<=snowmax;i++) {
        document.write(""+snowletter+"")
}
if (browserok) {
        window.onload=initsnow
}

Далее вставляем его в какой либо текстовый редактор например Notepad++ и сохраняем под названием snow-fall и расширением .js.

Загружаем созданный файл со скриптом snow-fall.js на хостинг в корневую папку блога и переходим к его подключению к действующий теме. Для этого вставляем в файле footer.php перед </body> следующую строчку:

<script type="text/javascript" src="snow-fall.js"></script>

Изменив: snow-fall.js на полный путь к скрипту на вашем сервере.
Сохраняем внесённые изменения в footer.php после чего идём на блог проверять результат.
Если всё было произведено верно то падающие снежинки уже появятся на вашем сайте.

Настройка падающих снежинок на сайте

В верхней части нашего скрипта имеются значения влияя на которые можно более точно настроить падающие снежинки под ваш сайт или блог, давайте поближе рассмотрим каждое из них:

  • snowcolor Задаём цвета снежинок, вы можете указать столько цветов сколько вам нужно.
  • snowtype Шрифты из которых создаются снежинки, также можно указать любые шрифты и их количество.
  • snowletter Указывается символ элемента который будит падать на сайте то есть «*» это, как раз наша снежинка. Хочу обратить ваше внимание, что вы можете использовать абсолютно любой символ например это может быть какая угодно снежинка: ❄ ❅ ❆ ❇ ❈ ❉ ❊ ❋, звёздочка: ✶ ✷ ✴ ✳ ✲ ✱ ✧ ✦, цветочек: ✽ ✾ ✿ ❀ ❁ ❂ ❃ или просто сердечко: ❤ в общем всё, что угодно.
  • sinkspeed Указывается с какой скоростью должны падать снежинки.
  • snowminsize Минимальный размер символа.
  • snowmaxsize Максимальный размер символа.
  • snowingzone Расположения падения; 1 по всей области просмотра, 2 по левой стороне, 3 по центру, 4 по правой стороне.

Вот собственно и всё о том, как сделать падающие снежинки на сайте. Желаю вам всего доброго до новых встреч!

С уважением, автор блога!
© progress-project
★Обновлено:2016-05-25

Введите свой e-mail:

Вы можете поделиться статьёй в социальных сетях:

Комментарии к статье

4 комментарияна “Как сделать падающие снежинки на сайте”
  1. deusmaster:

    Огромное спасибо, очень понравилось, поставил себе на сайт.

    Ответить
    • Administrator:

      Здравствуйте deusmaster! Очень рад, что материал вам оказался полезен.
      Вот только почему-то я не нашёл на вашем ресурсе никаких снежинок?

      Ответить
  2. Андрей Зенков:

    Не смог не открыть статью))) Серьезно, снежинки? И это в 21 веке-то? Стильно, модно, молодежно, ничего не скажешь…

    Ответить
    • Administrator:

      Здравствуйте, Андрей Зенков, в преддверии новогодних праздников данная тема, как нельзя актуальна, тем более, что изменив; значок, его цвет, скорость и интенсивность падения вы с лёгкостью сможете организовать на своём ресурсе, например проливной дождь или осенний листопад!

      Ответить

Ваш комментарий

Внимание! Перед тем, как вставить в комментарий: html, php либо JavaScript, преобразуйте его в HTML сущность!

» Подписаться на комментарии по RSS
Поиск по блогу

Введите свой e-mail:

ВКонтакте Google+ Facebook RSS-лента сайта abrek-ad-abra.ru

Топ комментаторов

Виктор(6)
seoonly(4)
Николай(3)
Олег(3)
Иван(3)

© 2015-2017

SEO-Бизнес блог «Progress-project».

Все материалы, опубликованные на сайте: принадлежат автору и охраняются в соответствии с законодательством РФ.

При использовании материалов сайта гиперссылка на обязательна!



seo-блог