Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    93

    Posizione Menu' + Scroll

    Ciao, vorrei riprodurre il menu con effetto scroll che si presenta su www.poste.it.
    Ho già trovato il codice ma io vorrei che il mio menu' (proprio come nel sito già nominato) partisse da una posizione che non è nel punto 0, 0 dello schermo ma una volta effettuato lo scroll della pagina il menu' occupi invece posizione 0,0.

    Vi posto lo script... spero possiate aiutarmi. Ciao

    __________________________________________________ _________

    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_reloadPage(init) {
    if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
    else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);

    function MM_findObj(n, d) {
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function flevDivPositionValue(sDiv, sProperty) {
    this.opera = (window.opera); // Opera 5+
    this.ns4 = (document.layers); // Netscape 4.x
    this.ns6 = (document.getElementById && !document.all && !this.opera); // Netscape 6+
    this.ie = (document.all); // Internet Explorer 4+
    var sValue = ""; docObj = eval("MM_findObj('" + sDiv + "')"); if (docObj == null) {return 0;}
    if ((sProperty == "left") || (sProperty == "top")) {
    if (!this.ns4) {docObj = docObj.style;}
    sValue = eval("docObj." + sProperty);
    if ((this.ie) && (sValue == "")) { // IE (con PC)
    if (sProperty == "top") { sValue = eval(sDiv + ".offsetTop"); }
    else { sValue = eval(sDiv + ".offsetLeft"); }
    };
    }
    else {
    if (this.opera) {
    docObj = docObj.style;
    if (sProperty == "height") { sValue = docObj.pixelHeight; }
    else if (sProperty == "width") { sValue = docObj.pixelWidth; }
    }
    else if (this.ns4) {sValue = eval("docObj.clip." + sProperty);}
    else if (this.ns6) {sValue = document.defaultView.getComputedStyle(docObj, "").getPropertyValue(sProperty); }
    else if (this.ie) {
    if (sProperty == "width") { sValue = eval(sDiv + ".offsetWidth"); }
    else if (sProperty == "height") { sValue = eval(sDiv + ".offsetHeight"); }
    }
    }
    sValue = (sValue == "") ? 0 : sValue;
    if (isNaN(sValue)) { if (sValue.indexOf('px') > 0) { sValue = sValue.substring(0,sValue.indexOf('px')); } }
    return parseInt(sValue);
    }

    function flevPersistentLayer() {
    var sD = arguments[0], oD = eval("MM_findObj('" + sD + "')"), iWW, iWH, iSX, iSY, iT = 10, sS = "";
    if (!document.layers) {oD = oD.style;}
    if (oD.tmpTimeout != null) {clearTimeout(oD.tmpTimeout);}
    var sXL = arguments[1], sXC = arguments[2], sXR = arguments[3], sYT = arguments[4], sYC = arguments[5], sYB = arguments[6];
    var iS = (arguments.length > 7) ? parseInt(arguments[7]) : 0, iPx = (arguments.length > 8) ? parseInt(arguments[8]) : 0;
    if (window.innerWidth) { // NS4, NS6 and Opera
    var oW = window; iWW = oW.innerWidth; iWH = oW.innerHeight; iSX = oW.pageXOffset; iSY = oW.pageYOffset; }
    else if (document.documentElement && document.documentElement.clientWidth) {
    var oDE = document.documentElement; iWW = oDE.clientWidth; iWH = oDE.clientHeight; iSX = oDE.scrollLeft; iSY = oDE.scrollTop; }
    else if (document.body) { // IE4+
    var oDB = document.body; iWW = oDB.clientWidth; iWH = oDB.clientHeight; iSX = oDB.scrollLeft; iSY = oDB.scrollTop; }
    else {return;}
    var iCX = iNX = flevDivPositionValue(sD, 'left'), iCY = iNY = flevDivPositionValue(sD, 'top');
    if (sXL != "") {iNX = iSX + parseInt(sXL);}
    else if (sXC != "") {iNX = Math.round(iSX + (iWW/2) - (flevDivPositionValue(sD, 'width')/2));}
    else if (sXR != "") {iNX = iSX + iWW - (flevDivPositionValue(sD, 'width') + parseInt(sXR));}
    if (sYT != "") {iNY = iSY + parseInt(sYT);}
    else if (sYC != "") {iNY = Math.round(iSY + (iWH/2) - (flevDivPositionValue(sD, 'height')/2));}
    else if (sYB != "") {iNY = iSY + (iWH - flevDivPositionValue(sD, 'height') - parseInt(sYB));}
    if ((iCX != iNX) || (iCY != iNY)) {
    if (iS > 0) {
    if (iPx > 0) { iT = iS;
    var iPxX = iPx, iPxY = iPx, iMX = Math.abs(iCX - iNX), iMY = Math.abs(iCY - iNY);
    // take care of diagonal movement
    if (iMX < iMY) {iPxY = (iMX != 0) ? ((iMY/iMX)*iPx) : iPx;}
    else {iPxX = (iMY != 0) ? ((iMX/iMY)*iPx) : iPx;}
    if (iPxX >= iMX) {iPxX = Math.min(Math.ceil(iPxX), iPx);}
    if (iPxY >= iMY) {iPxY = Math.min(Math.ceil(iPxY), iPx);}
    // temporary X/Y coordinates
    if ((iCX < iNX) && (iCX + iPxX < iNX)) {iNX = iCX + iPxX;}
    if ((iCX > iNX) && (iCX - iPxX > iNX)) {iNX = iCX - iPxX;}
    if ((iCY < iNY) && (iCY + iPxY < iNY)) {iNY = iCY + iPxY;}
    if ((iCY > iNY) && (iCY - iPxY > iNY)) {iNY = iCY - iPxY;} }
    else {
    var iMX = ((iNX - iCX) / iS), iMY = ((iNY - iCY) / iS);
    iMX = (iMX > 0) ? Math.ceil(iMX) : Math.floor(iMX); iNX = iCX + iMX;
    iMY = (iMY > 0) ? Math.ceil(iMY) : Math.floor(iMY); iNY = iCY + iMY; } }
    if ((parseInt(navigator.appVersion)>4 || navigator.userAgent.indexOf("MSIE")>-1) && (!window.opera)) {sS="px";}
    if (iMX != 0) {eval("oD.left = '" + iNX + sS + "'");}
    if (iMY != 0) {eval("oD.top = '" + iNY + sS + "'");} }
    var sF = "flevPersistentLayer('" + sD + "','" + sXL + "','" + sXC + "','" + sXR + "','" + sYT + "','" + sYC + "','" + sYB + "'," + iS + "," + iPx + ")";
    oD.tmpTimeout = setTimeout(sF,10);
    }

    function flevInitPersistentLayer() {
    if (arguments.length < 8) {return;}
    var sD = arguments[0]; if (sD == "") {return;}
    var oD = eval("MM_findObj('" + sD + "')"); if (!oD) {return;}
    var iCSS = parseInt(arguments[1]);
    var sXL = arguments[2], sXC = arguments[3], sXR = arguments[4], sYT = arguments[5], sYC = arguments[6], sYB = arguments[7];
    var iS = (arguments.length > 8) ? parseInt(arguments[8]) : 0, iPx = (arguments.length > 9) ? parseInt(arguments[9]) : 0;
    if (iCSS != 0) { if (!document.layers) {oD = oD.style;} sXL = parseInt(oD.left), sYT = parseInt(oD.top);}
    var sF = "flevPersistentLayer('" + sD + "','" + sXL + "','" + sXC + "','" + sXR + "','" + sYT + "','" + sYC + "','" + sYB + "'," + iS + "," + iPx + ")";
    eval(sF);
    }
    //-->
    </script>
    </head>

    <body onLoad=" flevInitPersistentLayer('Layer1',1,'','','','','', '',10)">

    <div id="Layer1" style="position:absolute; left:217px; top:93px; width:92px; height:132px; z-index:1; background: #000000; layer-background-color: #000000; border: 1px none #000000;"></div>
    <div id="Layer2" style="position:absolute; left:52px; top:2578px; width:223px; height:78px; z-index:2; background: #000000; layer-background-color: #000000; border: 1px none #000000;"></div>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    93
    Problema risolto grazie a un intervento, da perte di un amico, che non saprei spiegarvi.
    vi posto lo scipt:



    <!--
    function MM_reloadPage(init) {
    if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
    else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);

    function MM_findObj(n, d) {
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function flevDivPositionValue(sDiv, sProperty) {
    this.opera = (window.opera); // Opera 5+
    this.ns4 = (document.layers); // Netscape 4.x
    this.ns6 = (document.getElementById && !document.all && !this.opera); // Netscape 6+
    this.ie = (document.all); // Internet Explorer 4+
    var sValue = ""; docObj = eval("MM_findObj('" + sDiv + "')"); if (docObj == null) {return 0;}
    if ((sProperty == "left") || (sProperty == "top")) {
    if (!this.ns4) {docObj = docObj.style;}
    sValue = eval("docObj." + sProperty);
    if ((this.ie) && (sValue == "")) { // IE (con PC)
    if (sProperty == "top") { sValue = eval(sDiv + ".offsetTop"); }
    else { sValue = eval(sDiv + ".offsetLeft"); }
    };
    }
    else {
    if (this.opera) {
    docObj = docObj.style;
    if (sProperty == "height") { sValue = docObj.pixelHeight; }
    else if (sProperty == "width") { sValue = docObj.pixelWidth; }
    }
    else if (this.ns4) {sValue = eval("docObj.clip." + sProperty);}
    else if (this.ns6) {sValue = document.defaultView.getComputedStyle(docObj, "").getPropertyValue(sProperty); }
    else if (this.ie) {
    if (sProperty == "width") { sValue = eval(sDiv + ".offsetWidth"); }
    else if (sProperty == "height") { sValue = eval(sDiv + ".offsetHeight"); }
    }
    }
    sValue = (sValue == "") ? 0 : sValue;
    if (isNaN(sValue)) { if (sValue.indexOf('px') > 0) { sValue = sValue.substring(0,sValue.indexOf('px')); } }
    return parseInt(sValue);
    }

    function flevPersistentLayer() {

    var sD = arguments[0], oD = eval("MM_findObj('" + sD + "')"), iWW, iWH, iSX, iSY, iT = 10, sS = "";
    if (!document.layers) {oD = oD.style;}
    if (oD.tmpTimeout != null) {clearTimeout(oD.tmpTimeout);}
    var sXL = arguments[1], sXC = arguments[2], sXR = arguments[3], sYT = arguments[4], sYC = arguments[5], sYB = arguments[6];
    var iS = (arguments.length > 7) ? parseInt(arguments[7]) : 0, iPx = (arguments.length > 8) ? parseInt(arguments[8]) : 0;
    if (window.innerWidth) { // NS4, NS6 and Opera
    var oW = window; iWW = oW.innerWidth; iWH = oW.innerHeight; iSX = oW.pageXOffset; iSY = oW.pageYOffset; }
    else if (document.documentElement && document.documentElement.clientWidth) {
    var oDE = document.documentElement; iWW = oDE.clientWidth; iWH = oDE.clientHeight; iSX = oDE.scrollLeft; iSY = oDE.scrollTop; }
    else if (document.body) { // IE4+
    var oDB = document.body; iWW = oDB.clientWidth; iWH = oDB.clientHeight; iSX = oDB.scrollLeft; iSY = oDB.scrollTop; }
    else {return;}
    var iCX = iNX = flevDivPositionValue(sD, 'left'), iCY = iNY = flevDivPositionValue(sD, 'top');

    if (sXL != "") {iNX = iSX + parseInt(sXL);}
    else if (sXC != "") {iNX = Math.round(iSX + (iWW/2) - (flevDivPositionValue(sD, 'width')/2));}
    else if (sXR != "") {iNX = iSX + iWW - (flevDivPositionValue(sD, 'width') + parseInt(sXR));}
    if (sYT != "") {iNY = iSY + parseInt(sYT);}
    else if (sYC != "") {iNY = Math.round(iSY + (iWH/2) - (flevDivPositionValue(sD, 'height')/2));}
    else if (sYB != "") {iNY = iSY + (iWH - flevDivPositionValue(sD, 'height') - parseInt(sYB));}

    // verificare il primo valore > 0 di iSY e sostituirlo a 66
    if (iSY!=0){
    if(iSY==66){iNY=iNY-iSY;}
    else {iNY=iNY-sYT;}
    }

    if ((iCX != iNX) || (iCY != iNY)) {
    if (iS > 0) {
    if (iPx > 0) { iT = iS;
    var iPxX = iPx, iPxY = iPx, iMX = Math.abs(iCX - iNX), iMY = Math.abs(iCY - iNY);
    // take care of diagonal movement
    if (iMX < iMY) {iPxY = (iMX != 0) ? ((iMY/iMX)*iPx) : iPx;}
    else {iPxX = (iMY != 0) ? ((iMX/iMY)*iPx) : iPx;}
    if (iPxX >= iMX) {iPxX = Math.min(Math.ceil(iPxX), iPx);}
    if (iPxY >= iMY) {iPxY = Math.min(Math.ceil(iPxY), iPx);}
    // temporary X/Y coordinates
    if ((iCX < iNX) && (iCX + iPxX < iNX)) {iNX = iCX + iPxX;}
    if ((iCX > iNX) && (iCX - iPxX > iNX)) {iNX = iCX - iPxX;}
    if ((iCY < iNY) && (iCY + iPxY < iNY)) {iNY = iCY + iPxY;}
    if ((iCY > iNY) && (iCY - iPxY > iNY)) {iNY = iCY - iPxY;} }
    else {
    var iMX = ((iNX - iCX) / iS), iMY = ((iNY - iCY) / iS);
    iMX = (iMX > 0) ? Math.ceil(iMX) : Math.floor(iMX); iNX = iCX + iMX;
    iMY = (iMY > 0) ? Math.ceil(iMY) : Math.floor(iMY); iNY = iCY + iMY; } }
    if ((parseInt(navigator.appVersion)>4 || navigator.userAgent.indexOf("MSIE")>-1) && (!window.opera)) {sS="px";}
    if (iMX != 0) {eval("oD.left = '" + iNX + sS + "'");}
    if (iMY != 0) {eval("oD.top = '" + iNY + sS + "'");} }
    var sF = "flevPersistentLayer('" + sD + "','" + sXL + "','" + sXC + "','" + sXR + "','" + sYT + "','" + sYC + "','" + sYB + "'," + iS + "," + iPx + ")";
    oD.tmpTimeout = setTimeout(sF,10);
    }

    function flevInitPersistentLayer() {

    if (arguments.length < 8) {return;}
    var sD = arguments[0]; if (sD == "") {return;}
    var oD = eval("MM_findObj('" + sD + "')");
    if (!oD) {return;}
    var iCSS = parseInt(arguments[1]);
    var sXL = arguments[2], sXC = arguments[3], sXR = arguments[4];
    var sYT = arguments[5], sYC = arguments[6], sYB = arguments[7];

    var iS = (arguments.length > 8) ? parseInt(arguments[8]) : 0, iPx = (arguments.length > 9) ? parseInt(arguments[9]) : 0;
    if (iCSS != 0)
    {
    if (!document.layers) {oD = oD.style;}
    sXL = parseInt(oD.left), sYT = parseInt(oD.top);
    }

    var sF = "flevPersistentLayer('" + sD + "','" + sXL + "','" + sXC + "','" + sXR + "','" + sYT + "','" + sYC + "','" + sYB + "'," + iS + "," + iPx + ")";
    eval(sF);
    }
    //-->

  3. #3

    aiuto urgente!!!

    ciao
    dovrei fare la stessa cosa che hai fatt tu.
    ho una pagina html in cui vorrei inserire un menu che scenda
    in verticale ogni volta che faccio lo scroll

    che codice devo inserire?

    come definire i vari elemnti?

    grazie mille.

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    prendi il codice dalla textarea che appare premendo il tastino quote in basso a destra dopo il primo messaggio,
    considera che
    <div id="Layer1" style="position:absolute; left:217px; top:93px; width:92px; height:132px; z-index:1; background: #ffffff; layer-background-color: #ffffff; border: 1px none #000000;">il contenuto del menù va qui</div>

    il contenuto lo organizzi come preferisci:
    tabella, lista, link uno sotto l' altro con br, css...

  5. #5
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    qual è il valore da modificare per cambiare la posizione di destinazione dal punto 0,0 al punto 12,12? Sto cercando di capirci qualcosa negli script ma...niente

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    93
    mi spiace ma non so aiutarti, i calcoli per definire la posizione dello script li ha fatti un amico programmatore.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.