Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Śnieg na forum

Założony przez  Victor.

Wymagana wersja MyBB: 1.4.x

Zbliżają się święta, czas zmieniać loga na zimowe, i włączać prószenie śniegu. :sleepy:

1. W katalogu jscripts/ tworzymy plik o nazwie snow.js i wklejamy do niego:
//<?php
//    
//    header("Cache-Control: must-revalidate");
//    $offset = 60*60*24*60;
//    $ExpStr = "Expires: ".gmdate("D, d M Y H:i:s",time() + $offset)." GMT";
//    header($ExpStr);
//    header('Content-Type: application/x-javascript');
//
//    global $mosConfig_live_site;
//?>

//Javasript by Mario Boro (c) 2006-2007

var no = 5; // Liczba sniezek
var speed = 5; // Szybkosc sniegu - czym mniejsza tym szybciej leci
var schneeflocke = "http://forum.ots-s.pl/images/snow.gif"; // Link do obrazka sniegu

//Don't touch

var ns4up = (navigator.appName=="Netscape" && navigator.appVersion.charAt(0)=="4") ? 1 : 0;
var ie4up = (document.all) ? 1 : 0;
var ns6up = (document.getElementById&&!document.all) ? 1 : 0;
var dx, xp, yp;
var am, stx, sty;
var i, doc_width = 800, doc_height = 100;
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[i] = 0; // Koordinaten-Variable setzen
xp[i] = Math.random()*(doc_width-50); // Position-Variable setzen
yp[i] = Math.random()*doc_height;
am[i] = Math.random()*20; // Amplituden-Variable setzten
stx[i] = 0.02 + Math.random()/10; // Variable für Schrittweite setzen
sty[i] = 0.7 + Math.random(); // Variable für Schrittweite setzen

// Layer konfigurieren für Netscape
if (ns4up) {
if (i == 0) {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(schneeflocke + "\" border=\"0\"></layer>");
} else {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(schneeflocke + "\" border=\"0\"></layer>");
}

// Layer konfigurieren für NS4
} else if (ie4up||ns6up) {
if (i == 0) {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(schneeflocke + "\" border=\"0\"></div>");
} else {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(schneeflocke + "\" border=\"0\"></div>");
}
}
}

// Haupt-Animations-Funktion für Netscape
function schneeflockeNS() {
for (i = 0; i < no; ++ i) {
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();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
dx[i] += stx[i];
document.layers["dot"+i].top = yp[i];
document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("schneeflockeNS()", speed);
}

// Haupt-Animations-Funktion für Internet Explorer
function schneeflockeIE() {
for (i = 0; i < no; ++ i) {
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();
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx[i] += stx[i];
document.all["dot"+i].style.pixelTop = yp[i];
document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("schneeflockeIE()", speed);
}
// Haupt-Animations-Funktion für Netscape6 und Mozilla
function schneeflockeNS6() {
for (i = 0; i < no; ++ i) {
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();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
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";
}
setTimeout("schneeflockeNS6()", speed);
}
if (ns4up) {
schneeflockeNS();
} else if (ie4up) {
schneeflockeIE();
}else if (ns6up) {
schneeflockeNS6();
}

2. Zapisujemy plik i wchodzimy do ACP -> Style i szablony -> Szablony -> przy używanym szablonie Opcje - Wyświetl szablony -> Niezgrupowane szablony - rozwiń -> headerinclude - Opcje - Edytuj

3. Nad:
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/prototype.js?ver=1400"></script>

Wpisujemy:
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/snow.js"></script>

4. Śnieg już prószy! Teraz czekamy na prezenty :).
Dlaczego jak to wgrywam to pada jakby obrazek a nie snieg ?
myCreedo napisał 04.12.2015, 19:26:
Napisz osobny wątek z dokładniejszym opisem problemu i linkiem do forum ;)
By się przydało aktualizować te poradniki xd prototype nie ma w MyBB 1.8

ew posegregować te poradniki
Może ktoś zaktualizować to ponieważ nie wczytują się płatki śniegu.
Wystarczy wkleić nową ścieżkę do grafiki w miejsce gdzie jest:
var schneeflocke "http://forum.ots-s.pl/images/snow.gif"// Link do obrazka sniegu 
a samą grafiką powinien być 1 mały płatek śniegu ;)
„Lecz biorę całą odpowiedzialność na siebie. Być może się pomyliłem. Ale przecież mylić się jest rzeczą ludzką.”
dzięki
Czy tylko mi nie działa na wersji 1.8.6? Nic się zupełnie nie dzieje, żadnych zmian na forum :V



Użytkownicy przeglądający ten wątek:

2 gości