Effetto neve, un animazione molto carina, si puo'?

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
Megadream
membro Baby
membro Baby
Messaggi: 91
Iscritto il: 08/08/2004, 0:00
Località: ITA

Effetto neve, un animazione molto carina, si puo'?

Messaggio da Megadream »

Andando siu questo sito www.ufologia.net, si nota un animazione natalizia molto carina. Fiocchi di neve che scendono a ripetizione.

Sapete per caso se e' possibile trovare questo effetto e utilizzarlo sulla 2.2?

Thnks a lot
bye!
xpress
membro Regular
membro Regular
Messaggi: 234
Iscritto il: 18/07/2004, 0:00
Località: Italy

Messaggio da xpress »

certo che si puo anche se questa non è un granchè
è + carina una che uso io

appena posso ti posto qui il codice magari è utile a qualcun altro
xpress
membro Regular
membro Regular
Messaggi: 234
Iscritto il: 18/07/2004, 0:00
Località: Italy

Messaggio da xpress »

questo dentro l'header dentro </head>
<SCRIPT LANGUAGE="JavaScript" SRC="snow.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function snow()
{
Falling(10,"<img src=\"fiocco.gif\" width=\"25\" height=\"25\">", 60);
Falling(30,"<FONT SIZE='3' FACE='Verdana' COLOR='#FFFFFF'>*</FONT>", 60);
}
</SCRIPT>
sul body
onLoad="snow()"
per far partile la funzione

ed infine il file snow.js
var ns4 = (navigator.appName.indexOf("Netscape") != -1 && !document.getElementById);

if(!window.JSFX)
JSFX=new Object();

JSFX.layerNo=0;
/**********************************************************************************/
JSFX.createLayer = function(htmlStr, parent)
{
var elem = null;

if(document.layers)
{
var xName="xLayer" + JSFX.layerNo++;
if(parent == null)
elem=new Layer(2000);
else
elem=new Layer(2000, parent.elem);

elem.document.open();
elem.document.write(htmlStr);
elem.document.close();
elem.moveTo(0,0);
elem.innerHTML = htmlStr;
}
else
if(document.all)
{
if(parent == null)
parent=document.body;
else
parent=parent.elem;

var xName = "xLayer" + JSFX.layerNo++;
var txt = '<DIV ID="' + xName + '"'
+ ' STYLE="position:absolute;left:0;top:0;visibility:hidden">'
+ htmlStr
+ '</DIV>';

parent.insertAdjacentHTML("BeforeEnd",txt);

elem = document.all[xName];
}
else
if (document.getElementById)
{
if(parent == null)
parent=document.body;
else
parent=parent.elem;

var xName="xLayer" + JSFX.layerNo++;
var txt = ""
+ "position:absolute;left:0px;top:0px;visibility:hidden";

var newRange = document.createRange();

elem = document.createElement("DIV");
elem.setAttribute("style",txt);
elem.setAttribute("id", xName);

parent.appendChild(elem);

newRange.setStartBefore(elem);
strFrag = newRange.createContextualFragment(htmlStr);
elem.appendChild(strFrag);
}

return elem;
}
/**********************************************************************************/
JSFX.Layer = function(newLayer, parent)
{
if(!newLayer)
return;

if(typeof newLayer == "string")
this.elem = JSFX.createLayer(newLayer, parent);
else
this.elem=newLayer;

if(document.layers)
{
this.images = this.elem.document.images;
this.parent = parent;
this.style = this.elem;
if(parent != null)
this.style.visibility = "inherit";
}
else
{
this.images = document.images;
this.parent = parent;
this.style = this.elem.style;
}
window[this.elem.id]=this; //save a reference to this
}
/**********************************************************************************/
JSFX.findLayer = function(theDiv, d)
{
if(document.layers)
{
var i;
if(d==null) d = document;
var theLayer = d.layers[theDiv];
if(theLayer != null)
return(theLayer);
else
for(i=0 ; i<d.layers.length ; i++)
{
theLayer = JSFX.findLayer(theDiv, d.layers.document);
if(theLayer != null)
return(theLayer);
}
return("Undefined....");
}
else
if(document.all)
return(document.all[theDiv]);
else
if(document.getElementById)
return(document.getElementById(theDiv));
else
return("Undefined.....");
}

/**********************************************************************************/
/*** moveTo (x,y) ***/
JSFX.Layer.prototype.moveTo = function(x,y)
{
this.style.left = x+"px";
this.style.top = y+"px";
}
if(ns4)
JSFX.Layer.prototype.moveTo = function(x,y) { this.elem.moveTo(x,y); }
/**********************************************************************************/
/*** show()/hide() Visibility ***/
JSFX.Layer.prototype.show = function() { this.style.visibility = "visible"; }
JSFX.Layer.prototype.hide = function() { this.style.visibility = "hidden"; }
JSFX.Layer.prototype.isVisible = function() { return this.style.visibility == "visible"; }
if(ns4)
{
JSFX.Layer.prototype.show = function() { this.style.visibility = "show"; }
JSFX.Layer.prototype.hide = function() { this.style.visibility = "hide"; }
JSFX.Layer.prototype.isVisible = function() { return this.style.visibility == "show"; }
}
/**********************************************************************************/
/*** zIndex ***/
JSFX.Layer.prototype.setzIndex = function(z) { this.style.zIndex = z; }
JSFX.Layer.prototype.getzIndex = function() { return this.style.zIndex; }
/**********************************************************************************/
/*** ForeGround (text) Color ***/
JSFX.Layer.prototype.setColor = function(c){this.style.color=c;}
if(ns4)
JSFX.Layer.prototype.setColor = function(c)
{
this.elem.document.write("<FONT COLOR='"+c+"'>"+this.elem.innerHTML+"</FONT>");
this.elem.document.close();
}
/**********************************************************************************/
/*** BackGround Color ***/
JSFX.Layer.prototype.setBgColor = function(color) { this.style.backgroundColor = color==null?'transparent':color; }
if(ns4)
JSFX.Layer.prototype.setBgColor = function(color) { this.elem.bgColor = color; }
/**********************************************************************************/
/*** BackGround Image ***/
JSFX.Layer.prototype.setBgImage = function(image) { this.style.backgroundImage = "url("+image+")"; }
if(ns4)
JSFX.Layer.prototype.setBgImage = function(image) { this.style.background.src = image; }
/**********************************************************************************/
/*** set Content***/
JSFX.Layer.prototype.setContent = function(xHtml) { this.elem.innerHTML=xHtml; }
if(ns4)
JSFX.Layer.prototype.setContent = function(xHtml)
{
this.elem.document.write(xHtml);
this.elem.document.close();
this.elem.innerHTML = xHtml;
}

/**********************************************************************************/
/*** Clipping ***/
JSFX.Layer.prototype.clip = function(x1,y1, x2,y2){ this.style.clip="rect("+y1+" "+x2+" "+y2+" "+x1+")"; }
if(ns4)
JSFX.Layer.prototype.clip = function(x1,y1, x2,y2)
{
this.style.clip.top =y1;
this.style.clip.left =x1;
this.style.clip.bottom =y2;
this.style.clip.right =x2;
}
/**********************************************************************************/
/*** Resize ***/
JSFX.Layer.prototype.resizeTo = function(w,h)
{
this.style.width =w + "px";
this.style.height =h + "px";
}
if(ns4)
JSFX.Layer.prototype.resizeTo = function(w,h)
{
this.style.clip.width =w;
this.style.clip.height =h;
}
/**********************************************************************************/
/*** getX/Y ***/
JSFX.Layer.prototype.getX = function() { return parseInt(this.style.left); }
JSFX.Layer.prototype.getY = function() { return parseInt(this.style.top); }
if(ns4)
{
JSFX.Layer.prototype.getX = function() { return this.style.left; }
JSFX.Layer.prototype.getY = function() { return this.style.top; }
}
/**********************************************************************************/
/*** getWidth/Height ***/
JSFX.Layer.prototype.getWidth = function() { return this.elem.offsetWidth; }
JSFX.Layer.prototype.getHeight = function() { return this.elem.offsetHeight; }
if(!document.getElementById)
JSFX.Layer.prototype.getWidth = function()
{
//Extra processing here for clip
return this.elem.scrollWidth;
}

if(ns4)
{
JSFX.Layer.prototype.getWidth = function() { return this.style.clip.right; }
JSFX.Layer.prototype.getHeight = function() { return this.style.clip.bottom; }
}
/**********************************************************************************/
/*** Opacity ***/
if(ns4)
{
JSFX.Layer.prototype.setOpacity = function(pc) {return 0;}
}
else if(document.all)
{
JSFX.Layer.prototype.setOpacity = function(pc)
{
if(this.style.filter=="")
this.style.filter="alpha(opacity=80);";
this.elem.filters.alpha.opacity=pc;
}
}
else
{
/*** Assume NS6 ***/
JSFX.Layer.prototype.setOpacity = function(pc){ this.style.MozOpacity=pc+'%' }
}
/**************************************************************************/
/*** Event Handling - Start ***/
/*** NS4 ***/
if(ns4)
{
JSFX.eventmasks = {
onabort:Event.ABORT, onblur:Event.BLUR, onchange:Event.CHANGE,
onclick:Event.CLICK, ondblclick:Event.DBLCLICK,
ondragdrop:Event.DRAGDROP, onerror:Event.ERROR,
onfocus:Event.FOCUS, onkeydown:Event.KEYDOWN,
onkeypress:Event.KEYPRESS, onkeyup:Event.KEYUP, onload:Event.LOAD,
onmousedown:Event.MOUSEDOWN, onmousemove:Event.MOUSEMOVE,
onmouseout:Event.MOUSEOUT, onmouseover:Event.MOUSEOVER,
onmouseup:Event.MOUSEUP, onmove:Event.MOVE, onreset:Event.RESET,
onresize:Event.RESIZE, onselect:Event.SELECT, onsubmit:Event.SUBMIT,
onunload:Event.UNLOAD
};
JSFX.Layer.prototype.addEventHandler = function(eventname, handler)
{
this.elem.captureEvents(JSFX.eventmasks[eventname]);
var xl = this;
this.elem[eventname] = function(event) {
event.clientX = event.pageX;
event.clientY = event.pageY;
event.button = event.which;
event.keyCode = event.which;
event.altKey =((event.modifiers & Event.ALT_MASK) != 0);
event.ctrlKey =((event.modifiers & Event.CONTROL_MASK) != 0);
event.shiftKey =((event.modifiers & Event.SHIFT_MASK) != 0);
return handler(xl, event);
}
}
JSFX.Layer.prototype.removeEventHandler = function(eventName)
{
this.elem.releaseEvents(JSFX.eventmasks[eventName]);
delete this.elem[eventName];
}
}
/**************************************************************************/
/** IE 4/5+***/
else
if(document.all)
{
JSFX.Layer.prototype.addEventHandler = function(eventName, handler)
{
var xl = this;
this.elem[eventName] = function()
{
var e = window.event;
e.cancelBubble = true;
if(document.getElementById)
{
e.layerX = e.offsetX;
e.layerY = e.offsetY;
}
else
{
/*** Work around for IE 4 : clone window.event ***/
ev = new Object();
for(i in e)
ev = e;
ev.layerX = e.offsetX;
ev.layerY = e.offsetY;
e = ev;
}

return handler(xl, e);
}
}
JSFX.Layer.prototype.removeEventHandler = function(eventName)
{
this.elem[eventName] = null;
}
}
/**************************************************************************/
/*** Assume NS6 ***/
else
{
JSFX.Layer.prototype.addEventHandler = function(eventName, handler)
{
var xl = this;
this.elem[eventName] = function(e)
{
e.cancelBubble = true;
return handler(xl, e);
}
}
JSFX.Layer.prototype.removeEventHandler = function(eventName)
{
this.elem[eventName] = null;
}
}
/*** Event Handling - End ***/
/**************************************************************************/
JSFX.Layer.prototype.setTimeout = function(f, t)
{
setTimeout("window."+this.elem.id+"."+f, t);
}
if(!window.JSFX)
JSFX=new Object();

if(!JSFX.Browser)
JSFX.Browser = new Object();

if(navigator.appName.indexOf("Netscape") != -1)
{
JSFX.Browser.getCanvasWidth = function() {return innerWidth;}
JSFX.Browser.getCanvasHeight = function() {return innerHeight;}
JSFX.Browser.getWindowWidth = function() {return outerWidth;}
JSFX.Browser.getWindowHeight = function() {return outerHeight;}
JSFX.Browser.getScreenWidth = function() {return screen.width;}
JSFX.Browser.getScreenHeight = function() {return screen.height;}
JSFX.Browser.getMinX = function() {return(pageXOffset);}
JSFX.Browser.getMinY = function() {return(pageYOffset);}
JSFX.Browser.getMaxX = function() {return(pageXOffset+innerWidth);}
JSFX.Browser.getMaxY = function() {return(pageYOffset+innerHeight);}

}
else if(document.all) {
JSFX.Browser.getCanvasWidth = function() {return document.body.clientWidth;}
JSFX.Browser.getCanvasHeight = function() {return document.body.clientHeight;}
JSFX.Browser.getWindowWidth = function() {return document.body.clientWidth;}
JSFX.Browser.getWindowHeight = function() {return document.body.clientHeight;}
JSFX.Browser.getScreenWidth = function() {return screen.width;}
JSFX.Browser.getScreenHeight = function() {return screen.height;}
JSFX.Browser.getMinX = function() {return(document.body.scrollLeft);}
JSFX.Browser.getMinY = function() {return(document.body.scrollTop);}
JSFX.Browser.getMaxX = function() {
return(document.body.scrollLeft
+document.body.clientWidth);
}
JSFX.Browser.getMaxY = function() {
return(document.body.scrollTop
+document.body.clientHeight);
}
}
JSFX.FallingSprite = function(theHtml)
{
//Call the superclass constructor
this.superC = JSFX.Layer;
this.superC(theHtml);

this.x = Math.random() * (JSFX.Browser.getMaxX()-40);
this.y = -40;
this.dx = Math.random() * 4 - 2;
this.dy = Math.random() * 6 + 2;
this.ang = 0;
this.angStep = .2;
this.amp = 10;
this.state = "FALL";

this.moveTo(this.x,this.y);
this.show();
}
JSFX.FallingSprite.prototype = new JSFX.Layer;

JSFX.FallingSprite.prototype.animate = function()
{
if(this.state == "OFF")
return;

this.x += this.dx;
this.y += this.dy;
this.ang += this.angStep;

this.moveTo(this.x + this.amp*Math.sin(this.ang), this.y);

if( (this.x > JSFX.Browser.getMaxX()-20)
|| (this.x < JSFX.Browser.getMinX()-0)
|| (this.y > JSFX.Browser.getMaxY()-40) )
{
if(this.state == "STOPPING")
{
this.moveTo(-100,-100);
this.hide();
this.state = "OFF";
}
else
{
this.x = Math.random() * (JSFX.Browser.getMaxX()-40);
this.y = JSFX.Browser.getMinY()-40;
this.dx = Math.random() * 4 - 2;
this.dy = Math.random() * 6 + 2;
this.ang = 0;
}
}
}
/*** Class FallingObj extends Object ***/
JSFX.FallingObj = function(numSprites, theImage, stopTime)
{
this.id = "JSFX_FallingObj_"+JSFX.FallingObj.count++;
this.sprites = new Array();
for(i=0 ; i<numSprites; i++)
{
this.sprites=new JSFX.FallingSprite(theImage);
}
window[this.id]=this;
this.animate();

if(stopTime)
setTimeout("window."+this.id+".stop()", stopTime*1000);

}
JSFX.FallingObj.count = 0;

JSFX.FallingObj.prototype.stop = function()
{
for(i=0 ; i<this.sprites.length ; i++)
this.sprites.state = "STOPPING";
}

JSFX.FallingObj.prototype.animate = function()
{
setTimeout("window."+this.id+".animate()", 40);

for(i=0 ; i<this.sprites.length ; i++)
this.sprites.animate();

}
/*** END Class FallingObj ***/

/*
* Class Falling extends Object (Static method for creating "Falling" objects
*/
Falling = function(n, theImage, stopTime)
{
myFalling = new JSFX.FallingObj(n, theImage, stopTime);

return myFalling;
}


ciao ciao

ah dimenticavo è ovvio che devi caricare nella directory anche il file
fiocco.gif
ne basta uno ed ottieni l'effetto
scaricalo dal sito che hai mensionato acchiappandolo con tasto destro mentre scende........buon acchiappata
ti consiglio uno bianco
Megadream
membro Baby
membro Baby
Messaggi: 91
Iscritto il: 08/08/2004, 0:00
Località: ITA

Messaggio da Megadream »

Ehm ti ringrazio della info, ma non riesco a capire in che file devo mettere queste stringhe

per caso in index.php?

Inoltre quel file js devo ricrearlo io rinominando un file di testo o cosa?

thnks!
xpress
membro Regular
membro Regular
Messaggi: 234
Iscritto il: 18/07/2004, 0:00
Località: Italy

Messaggio da xpress »

Megadream ha scritto:Ehm ti ringrazio della info, ma non riesco a capire in che file devo mettere queste stringhe

per caso in index.php?

Inoltre quel file js devo ricrearlo io rinominando un file di testo o cosa?

thnks!

si esatto onload lo devi mettere nel body dell'index o sua altri file tipo l'index che so product_info

per il codice per il js si devi copiare il codice e metterlo su un file di testo e nominarlo con nome ed estensione .js

ciao
phantom
membro Junior
membro Junior
Messaggi: 26
Iscritto il: 05/07/2004, 0:00
Località: italy
Contatta:

Messaggio da phantom »

xpress ha scritto: si esatto onload lo devi mettere nel body dell'index o sua altri file tipo l'index che so product_info
per il codice per il js si devi copiare il codice e metterlo su un file di testo e nominarlo con nome ed estensione .js
Anch'io ero interessato, provato e non funziona!!!
Inserito .js, modificato la index, copiato un fiocco.gif, ma niente da fare non scende sta benedetta neve...
Ciauz
loris_ripa
membro Veteran
membro Veteran
Messaggi: 937
Iscritto il: 21/03/2004, 1:00
Località: Italia
Contatta:

Messaggio da loris_ripa »

un po' in ritardo...=)...
io ho provato questo script...funziona...l'ho inserito nell'header...
Ecco il link...

http://weblink.altervista.org/scripting ... caratt.php

magari sarà più utile l'anno prossimo!!!!...=)...
Ciao
LR
Rispondi