Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Target da un Sub-Menu

  1. #1

    Target da un Sub-Menu

    Salve ragazzi, ho scaricato da un sito un questo codice x creare un menu con dei sub-menu
    il problema è che non risco a capire come posso fare il TARGET sui sub-button-menu...vi posto il codice completo...ah prima ho fatto anche questi tentativi

    grazie mille

    I° io ho provato un po a vedere
    ...mi sembra che il TARGET si debba inserire su questa linea come ultimo parametro, ho provato ma non va...
    subInfo[1][1] = new Array("Sub-Button 1","Sub-Link 1","");

    II° visto che il mio target è sempre lo stesso x tutti i link avevo anche provato
    nell'area // GENERATE SUB MENUS a sostituire questa riga

    document.write('target="' + subInfo[x+1][k+1][2] + '">');

    con questa

    document.write('target="NOME_DEL_MIO_TARGET">');

    ma purtroppo non mi funziona nemmeno questa

    codice:
    /*** SET BUTTON'S FOLDER HERE ***/
    var buttonFolder = "buttons/";
    
    /*** SET BUTTONS' FILENAMES HERE ***/
    upSources = new Array("button1up.png","button2up.png");
    
    overSources = new Array("button1over.png","button2over.png");
    
    // SUB MENUS DECLARATION, YOU DONT NEED TO EDIT THIS
    subInfo = new Array();
    subInfo[1] = new Array();
    subInfo[2] = new Array();
    
    
    //*** SET SUB MENUS TEXT LINKS AND TARGETS HERE ***//
    subInfo[1][1] = new Array("Sub-Button 1","Sub-Link 1","");
    subInfo[1][2] = new Array("Sub-Button 2","Sub-Link 2","");
    
    subInfo[2][1] = new Array("Sub-Button 1","Sub-Link 1","");
    subInfo[2][2] = new Array("Sub-Button 2","Sub-Link 2","");
    
    
    //*** SET SUB MENU POSITION ( RELATIVE TO BUTTON ) ***//
    var xSubOffset = 120;
    var ySubOffset = 0;
    
    
    
    //*** NO MORE SETTINGS BEYOND THIS POINT ***//
    var overSub = false;
    var delay = 1000;
    totalButtons = upSources.length;
    
    // GENERATE SUB MENUS
    for ( x=0; x<totalButtons; x++) {
    	// SET EMPTY DIV FOR BUTTONS WITHOUT SUBMENU
    	if ( subInfo[x+1].length < 1 ) { 
    		document.write('<div id="submenu' + (x+1) + '">');
    	// SET DIV FOR BUTTONS WITH SUBMENU
    	} else {
    		document.write('<div id="submenu' + (x+1) + '" class="dropmenu" ');
    		document.write('onMouseOver="overSub=true;');
    		document.write('setOverImg(\'' + (x+1) + '\',\'\');"');
    		document.write('onMouseOut="overSub=false;');
    		document.write('setTimeout(\'hideSubMenu(\\\'submenu' + (x+1) + '\\\')\',delay);');
    		document.write('setOutImg(\'' + (x+1) + '\',\'\');">');
    
    
    		document.write('<ul>');
    		for ( k=0; k<subInfo[x+1].length-1; k++ ) {
    			document.write('[*]');
    			document.write('<a href="' + subInfo[x+1][k+1][1] + '" ');
    			document.write('target="' + subInfo[x+1][k+1][2] + '">');
    			document.write( subInfo[x+1][k+1][0] + '</a>');
    			document.write('');
    		}
    		document.write('[/list]');
    	}
    	document.write('</div>');
    }
    
    
    
    
    
    //*** MAIN BUTTONS FUNCTIONS ***//
    // PRELOAD MAIN MENU BUTTON IMAGES
    function preload() {
    	for ( x=0; x<totalButtons; x++ ) {
    		buttonUp = new Image();
    		buttonUp.src = buttonFolder + upSources[x];
    		buttonOver = new Image();
    		buttonOver.src = buttonFolder + overSources[x];
    	}
    }
    
    // SET MOUSEOVER BUTTON
    function setOverImg(But, ID) {
    	document.getElementById('button' + But + ID).src = buttonFolder + overSources[But-1];
    }
    
    // SET MOUSEOUT BUTTON
    function setOutImg(But, ID) {
    	document.getElementById('button' + But + ID).src = buttonFolder + upSources[But-1];
    }
    
    
    
    //*** SUB MENU FUNCTIONS ***//
    // GET ELEMENT ID MULTI BROWSER
    function getElement(id) {
    	return document.getElementById ? document.getElementById(id) : document.all ? document.all(id) : null; 
    }
    
    // GET X COORDINATE
    function getRealLeft(id) { 
    	var el = getElement(id);
    	if (el) { 
    		xPos = el.offsetLeft;
    		tempEl = el.offsetParent;
    		while (tempEl != null) {
    			xPos += tempEl.offsetLeft;
    			tempEl = tempEl.offsetParent;
    		} 
    		return xPos;
    	} 
    } 
    
    // GET Y COORDINATE
    function getRealTop(id) {
    	var el = getElement(id);
    	if (el) { 
    		yPos = el.offsetTop;
    		tempEl = el.offsetParent;
    		while (tempEl != null) {
    			yPos += tempEl.offsetTop;
    			tempEl = tempEl.offsetParent;
    		}
    		return yPos;
    	}
    }
    
    // MOVE OBJECT TO COORDINATE
    function moveObjectTo(objectID,x,y) {
    	var el = getElement(objectID);
    	el.style.left = x;
    	el.style.top = y;
    }
    
    // MOVE SUBMENU TO CORRESPONDING BUTTON
    function showSubMenu(subID, buttonID) {
    	hideAllSubMenus();
    	butX = getRealLeft(buttonID);
    	butY = getRealTop(buttonID);
    	moveObjectTo(subID,butX+xSubOffset, butY+ySubOffset);
    }
    
    // HIDE ALL SUB MENUS
    function hideAllSubMenus() {
    	for ( x=0; x<totalButtons; x++) {
    		moveObjectTo("submenu" + (x+1) + "",-500, -500 );
    	}
    }
    
    // HIDE ONE SUB MENU
    function hideSubMenu(subID) {
    	if ( overSub == false ) {
    		moveObjectTo(subID,-500, -500);
    	}
    }
    
    
    
    //preload();

    come posso fare? grazie mille a tutti

  2. #2
    Ho avuto lo stesso problema, ma non sono ancora riuscito a risolverlo.
    Speriamo che qlc + sù ....ci metta mano.
    Siamo nella stessa barca... sperem

    Ciao a presto

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.