Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    112

    aiuto! problema posizionamento

    Ciao,

    sto utilizzando questo script per la mia navigazione di sinistra. Cerco aiuto per fare in modo che le finestre dei link si aprano soltanto vicino ai miei bottoni (quando faccio scorrere la pagina si aprono lontane).

    Questo lo script:

    <style>
    <!--

    .menuskin{
    position:absolute;
    width:165px;
    background-color:menu;
    border:2px solid black;
    font:normal 12px Verdana;
    line-height:18px;
    z-index:100;
    visibility:hidden;
    }

    .menuskin a{
    text-decoration:none;
    color:black;
    padding-left:10px;
    padding-right:10px;
    }

    #mouseoverstyle{
    background-color:highlight;
    }

    #mouseoverstyle a{
    color:white;
    }
    -->
    </style>

    <script language="JavaScript1.2">

    //Pop-it menu- By Dynamic Drive
    //For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
    //This credit MUST stay intact for use

    var linkset=new Array()
    //SPECIFY MENU SETS AND THEIR LINKS. FOLLOW SYNTAX LAID OUT

    linkset[0]='<div class="menuitems">Dynamic Drive</div>'
    linkset[0]+='<hr>' //Optional Separator
    linkset[0]+='<div class="menuitems">JavaScript Kit</div>'
    linkset[0]+='<div class="menuitems">Freewarejava</div>'

    linkset[1]='<div class="menuitems">MSNBC</div>'
    linkset[1]+='<div class="menuitems">CNN</div>'
    linkset[1]+='<div class="menuitems">ABC News</div>'
    linkset[1]+='<hr>' //Optional Separator
    linkset[1]+='<div class="menuitems">Washington Post</div>'

    ////No need to edit beyond here

    var ie4=document.all&&navigator.userAgent.indexOf("Ope ra")==-1
    var ns6=document.getElementById&&!document.all
    var ns4=document.layers

    function showmenu(e,which){

    if (!document.all&&!document.getElementById&&!documen t.layers)
    return

    clearhidemenu()

    menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
    menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj

    if (ie4||ns6)
    menuobj.innerHTML=which
    else{
    menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
    menuobj.document.close()
    }

    menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
    menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height
    eventX=ie4? event.clientX : ns6? e.clientX : e.x
    eventY=ie4? event.clientY : ns6? e.clientY : e.y

    //Find out how close the mouse is to the corner of the window
    var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
    var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY

    //if the horizontal distance isn't enough to accomodate the width of the context menu
    if (rightedge<menuobj.contentwidth)
    //move the horizontal position of the menu to the left by it's width
    menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
    else
    //position the horizontal position of the menu where the mouse was clicked
    menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX : eventX

    //same concept with the vertical position
    if (bottomedge<menuobj.contentheight)
    menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
    else
    menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY : eventY
    menuobj.thestyle.visibility="visible"
    return false
    }

    function contains_ns6(a, b) {
    //Determines if 1 element in contained in another- by Brainjar.com
    while (b.parentNode)
    if ((b = b.parentNode) == a)
    return true;
    return false;
    }

    function hidemenu(){
    if (window.menuobj)
    menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
    }

    function dynamichide(e){
    if (ie4&&!menuobj.contains(e.toElement))
    hidemenu()
    else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
    hidemenu()
    }

    function delayhidemenu(){
    if (ie4||ns6||ns4)
    delayhide=setTimeout("hidemenu()",500)
    }

    function clearhidemenu(){
    if (window.delayhide)
    clearTimeout(delayhide)
    }

    function highlightmenu(e,state){
    if (document.all)
    source_el=event.srcElement
    else if (document.getElementById)
    source_el=e.target
    if (source_el.className=="menuitems"){
    source_el.id=(state=="on")? "mouseoverstyle" : ""
    }
    else{
    while(source_el.id!="popmenu"){
    source_el=document.getElementById? source_el.parentNode : source_el.parentElement
    if (source_el.className=="menuitems"){
    source_el.id=(state=="on")? "mouseoverstyle" : ""
    }
    }
    }
    }

    if (ie4||ns6)
    document.onclick=hidemenu

    </script>

  2. #2
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    che codice usi nel body?
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    112
    L'esempio che ho trovato online mi dà questo:

    <div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,' on')" onMouseout="highlightmenu(event,'off');dynamichide (event)">
    </div>

    Webmaster Links

    News sites

    <p align="center"><font face="Arial" size="-2">Free DHTML scripts provided by

    Dynamic Drive</font></p>



    Nell'esempio funziona, perché i link sono due. Io in realtà ne avrei nove e, quando sposto li cursore della pagina, succede che la finestra del nono link si apre non di fianco ma in alto (quindi non cliccabile).

  4. #4
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    io ho messo altri 4 link ma funziona tutto...
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    112
    Io ho nove gif (ciascuna delle quali dovrebbe avere finestra descrittiva con submenu).

    Finché ho il cursore della pagina in alto a destra è tutto ok.

    Quando scendo con il cursore (tanto per intederci: vedo solo gli ultimi 2-3 bottoni sulla sinistra), i submenu non appaiono di fianco.

  6. #6
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    hai un esempio online?
    se no, posti il codice del body con i link ke hai messo tu?
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    112
    mi sposto sul portatile e mando subito (intanto grazie!!)

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    112
    Per evitare una cosa chilometrica ti ho inviato una mail

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.