Salve a tutti, io ho questo codice(funzioniMenu.js):
questa la pagina HTML(Prova.htm):codice:var MaxMarg = 385; var MinMarg = 300; var divIndietro = 5; var divMilliSecondi = 50; var LastEle; var swFatto; var LastEvt; function SistemaDiv(){ var i; var DivProva; var NomeProva; for (i=1;i<4;i++) { NomeDiv = "div" + i; DivProva = document.getElementById(NomeDiv); DivProva.style.marginLeft = MaxMarg + "px"; } } function SpostaDivIndietro(evt, divPadre, divMarg){ var ele = document.getElementById(divPadre); var evt = evt || window.event; var targetObj = evt.target||evt.srcElement; if (LastEle != null) { if (ele.id != LastEle.id) { if (swFatto == false) { SpostaDivAvanti(LastEvt, LastEle.id, MinMarg) swFatto = true; } } } ele.style.marginLeft = divMarg + "px"; divMarg -= divIndietro; var ToW = window.setTimeout(function() {SpostaDivIndietro(evt, divPadre, divMarg);}, divMilliSecondi); if (divMarg < MinMarg) { window.clearTimeout(ToW); targetObj.onclick = function(){SpostaDivAvanti(evt, divPadre, MinMarg)}; LastEle = ele; LastEvt = evt; LastdivMarg = ele.style.marginLeft; swFatto = false; } } function SpostaDivAvanti(evt, divPadre, divMarg){ var ele = document.getElementById(divPadre); var evt = evt || window.event; var targetObj = evt.target||evt.srcElement; ele.style.marginLeft = divMarg + "px"; divMarg += divIndietro; var ToW = window.setTimeout(function() {SpostaDivAvanti(evt, divPadre, divMarg);}, divMilliSecondi); if (divMarg > MaxMarg) { window.clearTimeout(ToW); targetObj.onclick = function(){SpostaDivIndietro(evt, divPadre, MaxMarg)}; return; } }
e questo il css(CssMenu.css):codice:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script language="javascript" type="text/javascript" src="/Prove/funzioniMenu.js"></script> <link href="/Prove/CSSMenu.css" rel="stylesheet" type="text/css"> <title>Documento senza titolo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body onLoad="SistemaDiv();"> <div id="container"> <div id="div1"><div id="click" onClick="SpostaDivIndietro(event, 'div1',385);"></div></div> <div id="div2"><div id="click" onClick="SpostaDivIndietro(event, 'div2', 385);"></div></div> <div id="div3"><div id="click" onClick="SpostaDivIndietro(event, 'div3', 385);"></div></div> </div> </body> </html>
sapreste dirmi se questo codice javascript può andare bene oppure posso applicare altre migliorie? se posso quali sono tali migliorie?codice:#container{ width:400px; height:250px; margin:5px; overflow:hidden; } #div1, #div2, #div3{ margin-top:5px; width:100px; height:30px; background-color:#feaf2e; padding:0; } #click{ width:15px; height:30px; margin:0; padding:0; }
come posso implementare il fatto che se un utentemi clicca un div mentre l'altro o lo stesso mi stà facendo l'animazione deve farmi la cosa inversa?
mi spiego meglio:
-l'utente clicca un div
-a metà dell'"animazione" l'utente mi clicca un'altro div
-devo digli via programma che il div che stava andando a sinistra, ora deve andare a destra...
grazie

Rispondi quotando