Перейти к контенту

Снег без картинок.


Рекомендуемые сообщения

этот скрипт не ставил, но наверное что-то наподобие этого _http://webdevel.ru/forum/ (в шаблоне PRO)
Ссылка на комментарий
Поделиться на других сайтах

этот скрипт не ставил, но наверное что-то наподобие этого _http://webdevel.ru/forum/ (в шаблоне PRO)

Нет, тот что в архиве круче намного, только там не по всему сайту падает((( а только сверху..

Ссылка на комментарий
Поделиться на других сайтах

А у меня снег падает вместе с доларами, евро, енами и ещё какими-то неизвестными мне валютами!

+ это всё происходит в правом углу экрана, а я хочу чоб по всему экрану летал, и долары с евро мне не нужны, а нужен снежок!

Помогите плиз!!! :D

Ссылка на комментарий
Поделиться на других сайтах

Где они снежинки без картинок? Или это юмор?

Еще хотел реализовать например : фейерверк на поздравительным форуме где копать?

Ссылка на комментарий
Поделиться на других сайтах

  • 11 месяцев спустя...

Вот читал эту тему и думал, ужас ...

 

Нафлудили тут, только с толку сбили.

 

Вот собственно снег на IPB без вских проблем и так дальше

 

Сохраняем в файл код скрипта

 

//Snow - http://www.btinternet.com/~kurt.grigg/javascript

 

if ((document.getElementById) &&

window.addEventListener || window.attachEvent){

 

(function(){

 

//Configure here.

 

var num = 40; //Number of flakes

var timer = 30; //setTimeout speed. Varies on different comps

 

//End.

 

var y = [];

var x = [];

var fall = [];

var theFlakes = [];

var sfs = [];

var step = [];

var currStep = [];

var h,w,r;

var d = document;

var pix = "px";

var domWw = (typeof window.innerWidth == "number");

var domSy = (typeof window.pageYOffset == "number");

var idx = d.getElementsByTagName('div').length;

 

if (d.documentElement.style &&

typeof d.documentElement.style.MozOpacity == "string")

num = 12;

 

for (i = 0; i < num; i++){

sfs = Math.round(1 + Math.random() * 1);

 

document.write('<div id="flake'+(idx+i)+'" style="position:absolute;top:0px;left:0px;width:'

+sfs+'px;height:'+sfs+'px;background-color:#FFFFFF;font-size:'+sfs+'px"><\/div>');

 

currStep = 0;

fall = (sfs == 1)?

Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2);

step = (sfs == 1)?

0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05 ;

}

 

 

if (domWw) r = window;

else{

if (d.documentElement &&

typeof d.documentElement.clientWidth == "number" &&

d.documentElement.clientWidth != 0)

r = d.documentElement;

else{

if (d.body &&

typeof d.body.clientWidth == "number")

r = d.body;

}

}

 

 

function winsize(){

var oh,sy,ow,sx,rh,rw;

if (domWw){

if (d.documentElement && d.defaultView &&

typeof d.defaultView.scrollMaxY == "number"){

oh = d.documentElement.offsetHeight;

sy = d.defaultView.scrollMaxY;

ow = d.documentElement.offsetWidth;

sx = d.defaultView.scrollMaxX;

rh = oh-sy;

rw = ow-sx;

}

else{

rh = r.innerHeight;

rw = r.innerWidth;

}

h = rh - 2;

w = rw - 2;

}

else{

h = r.clientHeight - 2;

w = r.clientWidth - 2;

}

}

 

 

function scrl(yx){

var y,x;

if (domSy){

y = r.pageYOffset;

x = r.pageXOffset;

}

else{

y = r.scrollTop;

x = r.scrollLeft;

}

return (yx == 0)?y:x;

}

 

 

function snow(){

var dy,dx;

 

for (i = 0; i < num; i++){

dy = fall;

dx = fall * Math.cos(currStep);

 

y+=dy;

x+=dx;

 

if (x >= w || y >= h){

y = -10;

x = Math.round(Math.random() * w);

fall = (sfs == 1)?

Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2);

step = (sfs == 1)?

0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05 ;

}

 

theFlakes.top = y + scrl(0) + pix;

theFlakes.left = x + scrl(1) + pix;

 

currStep+=step;

}

setTimeout(snow,timer);

}

 

 

function init(){

winsize();

for (i = 0; i < num; i++){

theFlakes = document.getElementById("flake"+(idx+i)).style;

y = Math.round(Math.random()*h);

x = Math.round(Math.random()*w);

}

snow();

}

 

 

if (window.addEventListener){

window.addEventListener("resize",winsize,false);

window.addEventListener("load",init,false);

}

else if (window.attachEvent){

window.attachEvent("onresize",winsize);

window.attachEvent("onload",init);

}

 

})();

}//End.

 

сохраняем вайл с расширением js

 

В этом фрагменте меняем цвет снежинок

 

document.write('<div id="flake'+(idx+i)+'" style="position:absolute;top:0px;left:0px;width:'

+sfs+'px;height:'+sfs+'px;background-color:значение цвета пишим тут;font-size:'+sfs+'px"><\/div>');

 

Этот вариант не требует картинок, потому проблемой меньше, удобней всего подключить файл к форуму так.

 

Админцентр > Нажать вкладку "Внешний вид", дальше, в большом окне, там где відаст список стилей, в выпадающем меню, которое есть возле каждого стиля в списке, выбираем "Изменить общий шаблон форума".

 

Выдаст код, в котором ищем такое вот.

<meta http-equiv="content-type" content="text/html; charset=<% CHARSET %>" />

 

Ниже вставить

 

<script language="JavaScript" src="jscripts/sneg.js"></script>

 

 

src="jscripts/sneg.js" тут смотрим внимательно. Это путь к файлу который мы создали и закинули на сервер. Путь относительный, если вы поставили форум в папку forum например, то значит подредактируйте, поєксперементируйте и так дальше.

 

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

 

var snowsrc="season/ghost/snow.gif"

var no = 10;

 

var ns4up = (document.layers) ? 1 : 0; // browser sniffer

var ie4up = (document.all) ? 1 : 0;

var ns6up = (document.getElementById&&!document.all) ? 1 : 0;

 

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 (ns4up||ns6up) {

doc_width = self.innerWidth;

doc_height = self.innerHeight;

} else if (ie4up) {

doc_width = document.body.clientWidth;

doc_height = document.body.clientHeight;

}

 

dx = new Array();

xp = new Array();

yp = new Array();

am = new Array();

stx = new Array();

sty = new Array();

 

for (i = 0; i < no; ++ i) {

dx = 0; // set coordinate variables

xp = Math.random()*(doc_width-50); // set position variables

yp = Math.random()*doc_height;

am = Math.random()*20; // set amplitude variables

stx = 0.02 + Math.random()/10; // set step variables

sty = 0.7 + Math.random(); // set step variables

if (ns4up) { // set layers

if (i == 0) {

document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><a href=\"http://dynamicdrive.com/\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/layer>");

} else {

document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src='"+snowsrc+"' border=\"0\"><\/layer>");

}

} else if (ie4up||ns6up) {

if (i == 0) {

document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://dynamicdrive.com\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/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 snowNS() { // Netscape main animation function

for (i = 0; i < no; ++ i) { // iterate for every dot

yp += sty;

if (yp > doc_height-50) {

xp = Math.random()*(doc_width-am-30);

yp = 0;

stx = 0.02 + Math.random()/10;

sty = 0.7 + Math.random();

doc_width = self.innerWidth;

doc_height = self.innerHeight;

}

dx += stx;

document.layers["dot"+i].top = yp;

document.layers["dot"+i].left = xp + am*Math.sin(dx);

}

setTimeout("snowNS()", 10);

}

 

function snowIE_NS6() { // IE and NS6 main animation function

for (i = 0; i < no; ++ i) { // iterate for every dot

yp += sty;

if (yp > doc_height-50) {

xp = Math.random()*(doc_width-am-30);

yp = 0;

stx = 0.02 + Math.random()/10;

sty = 0.7 + Math.random();

doc_width = ns6up?window.innerWidth : document.body.clientWidth;

doc_height = ns6up?window.innerHeight : document.body.clientHeight;

}

dx += stx;

if (ie4up){

document.all["dot"+i].style.pixelTop = yp;

document.all["dot"+i].style.pixelLeft = xp + am*Math.sin(dx);

}

else if (ns6up){

document.getElementById("dot"+i).style.top=yp+'px';

document.getElementById("dot"+i).style.left=xp + am*Math.sin(dx)+'px';

}

}

setTimeout("snowIE_NS6()", 10);

}

 

if (ns4up) {

snowNS();

} else if (ie4up||ns6up) {

snowIE_NS6();

}

 

 

Самая первая строка єто описание переменной, хотя она больше похожа на константу, но єто не важно, вот єта строка

 

var snowsrc="season/ghost/snow.gif"

 

Єто есть путь к картинке, если на картинке сапог, то по воруму будут падать сапоги.

 

 

Вот и все. Єтот вариант проверен в опере лисе и стандартном ишаке. Везде на весь экран и все гуд и.т.д.

 

Надеюсь что кто дочитает эту тему, то наконецто решит свою проблему.

 

Всем спасибо, сори что если не так, будте здаровы и с наступающим вас! :D

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

Поставил себе снежок автора данного топика, мне нравится, но жаль что не на всю страничку падает)

Ставить очень просто! За что и благодарю автора)

Для того что бы поставить себе снежок, вам нужно сделать следующее:

Заходите в АЦ -> Внешний вид -> Выбираете в вашем скине (шаблоне) Изменить общий шаблон форума -> Вставляете код (предварительно открыв файл в блакноте и скопировав код) после Тега </body> ....

И ваш снежок готов к свободному падению))

Позитивное настроение вам и вашим форумчанам обеспечено))

Ссылка на комментарий
Поделиться на других сайтах

  • 11 месяцев спустя...

У меня вопрос...

В IE, на главной странице форума и в самих форумах снежинуи падают тормознуто... А когда заходишь в тему, там снег падает очень динамично вообще без запинок...

Такое происходит только в IЕ, в остальных браузерах все гладко...

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Вот текстовый снег чтобы падал на всю страницу, даже при прокрутке)

Правда не такой красивый как у топикстартера, но все же)

 

if  ((document.getElementById) && 
window.addEventListener || window.attachEvent){

(function(){

//Configure here.

var num = 30;   //Number of flakes
var timer = 30; //setTimeout speed. Varies on different comps

//End.

var y = [];
var x = [];
var fall = [];
var theFlakes = [];
var sfs = [];
var step = [];
var currStep = [];
var h,w,r;
var d = document;
var pix = "px";
var domWw = (typeof window.innerWidth == "number");
var domSy = (typeof window.pageYOffset == "number");
var idx = d.getElementsByTagName('div').length;

if (d.documentElement.style && 
typeof d.documentElement.style.MozOpacity == "string")
num = 12;

for (i = 0; i < num; i++){
sfs[i] = Math.round(1 + Math.random() * 1);

document.write('<div id="flake'+(idx+i)+'" style="position:absolute;top:0px;left:0px;width:'
+sfs[i]+'px;height:'+sfs[i]+'px;background-color:#ffffff;font-size:'+sfs[i]+'px"><\/div>');

currStep[i] = 0;
fall[i] = (sfs[i] == 1)?
Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2);
step[i] = (sfs[i] == 1)?
0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05;
}


if (domWw) r = window;
else{ 
 if (d.documentElement && 
 typeof d.documentElement.clientWidth == "number" && 
 d.documentElement.clientWidth != 0)
 r = d.documentElement;
else{ 
 if (d.body && 
 typeof d.body.clientWidth == "number")
 r = d.body;
}
}


function winsize(){
var oh,sy,ow,sx,rh,rw;
if (domWw){
 if (d.documentElement && d.defaultView && 
 typeof d.defaultView.scrollMaxY == "number"){
 oh = d.documentElement.offsetHeight;
 sy = d.defaultView.scrollMaxY;
 ow = d.documentElement.offsetWidth;
 sx = d.defaultView.scrollMaxX;
 rh = oh-sy;
 rw = ow-sx;
}
else{
 rh = r.innerHeight;
 rw = r.innerWidth;
}
h = rh - 2;  
w = rw - 2; 
}
else{
h = r.clientHeight - 2; 
w = r.clientWidth - 2; 
}
}


function scrl(yx){
var y,x;
if (domSy){
y = r.pageYOffset;
x = r.pageXOffset;
}
else{
y = r.scrollTop;
x = r.scrollLeft;
}
return (yx == 0)?y:x;
}


function snow(){
var dy,dx;

for (i = 0; i < num; i++){
dy = fall[i];
dx = fall[i] * Math.cos(currStep[i]);

y[i]+=dy;
x[i]+=dx; 

if (x[i] >= w || y[i] >= h){
 y[i] = -10;
 x[i] = Math.round(Math.random() * w);
 fall[i] = (sfs[i] == 1)?
 Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2);
 step[i] = (sfs[i] == 1)?
 0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05;
}

theFlakes[i].top = y[i] + scrl(0) + pix;
theFlakes[i].left = x[i] + scrl(1) + pix;

currStep[i]+=step[i];
}
setTimeout(snow,timer);
}


function init(){
winsize();
for (i = 0; i < num; i++){
theFlakes[i] = document.getElementById("flake"+(idx+i)).style;
y[i] = Math.round(Math.random()*h);
x[i] = Math.round(Math.random()*w);
}
snow();
}


if (window.addEventListener){
window.addEventListener("resize",winsize,false);
window.addEventListener("load",init,false);
}  
else if (window.attachEvent){
window.attachEvent("onresize",winsize);
window.attachEvent("onload",init);
} 

})();
}

Ссылка на комментарий
Поделиться на других сайтах

Вот есть на воблу

http://www.vbsupport.org/forum/showthread.php?t=32344

Может кто его переделает на ипб

Образец, у меня в профиле ссылка на форум и там стоит этот мод снежинки

Ссылка на комментарий
Поделиться на других сайтах

Вот есть на воблу

http://www.vbsupport.org/forum/showthread.php?t=32344

Может кто его переделает на ипб

Образец, у меня в профиле ссылка на форум и там стоит этот мод снежинки

Это же обычный JS, какая разница куда его ставить, хоть на сайт... не надо ничего переделывать.

Ссылка на комментарий
Поделиться на других сайтах

Я не селен в этом, просто некоторые моды пытался ставить на ипб и на оборот и они не работают

Вот и подумал, что все разное

Ссылка на комментарий
Поделиться на других сайтах

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.