in una pagina ho dovuto inserire 2 js uno che comanda un menù a scomparsa e l'altro che sostitiuse il target _blank.
Da soli funziano perfettamente mentre messi in coppia ( esterni o interni alla pagina nn cambia nulla).
Non è che en capisca di js ma non mi pare ci siano cose definite con lo stesso attributo.
questi sono gli js :
codice:
function intercetta() {
for (var i=0; i<document.links.length; i++)
if (document.links[i].className=="blank") {
document.links[i].target="_blank";
}
}
window.onload = intercetta;
Richiamato nel link con un class="blank", e quello del menù a scomparsa
codice:
var currentMenu = null;
var mytimer = null;
var timerOn = false;
var opera = window.opera ? true : false;
if (!document.getElementById)
document.getElementById = function() { return null; }
function initialiseMenu(menuId, starterId) {
var menu = document.getElementById(menuId);
var starter = document.getElementById(starterId);
if (menu == null || starter == null) return;
currentMenu = menu;
starter.onmouseover = function() {
if (currentMenu) {
currentMenu.style.visibility = "hidden";
currentMenu = null;
this.showMenu();
stopTime();
}
}
menu.onmouseover = function() {
if (currentMenu) {
currentMenu.style.visibility = "hidden";
currentMenu = null;
this.showMenu();
}
}
starter.showMenu = function() {
if (!opera) {
menu.style.left = this.offsetLeft + "px";
menu.style.top = this.offsetTop + this.offsetHeight + "px";
}
else {
menu.style.left = this.offsetLeft + "px";
menu.style.top = this.offsetHeight + "px";
}
menu.style.visibility = "visible";
currentMenu = menu;
}
starter.onfocus = function() {
this.onmouseover();
}
starter.onblur = function() {
this.onmouseout();
}
menu.showMenu = function() {
menu.style.visibility = "visible";
currentMenu = menu;
stopTime();
}
menu.hideMenu = function() {
if (!timerOn) {
mytimer = setTimeout("killMenu('" + menuId + "');", 1500);
timerOn = true;
}
}
menu.onmouseout = function(event) {
this.hideMenu();
}
starter.onmouseout = function() {
menu.hideMenu();
}
}
function killMenu(amenu) {
var menu = document.getElementById(amenu);
menu.style.visibility = "hidden";
stopTime();
}
function stopTime() {
if (mytimer) {
clearTimeout(mytimer);
mytimer = null;
timerOn = false;
}
}
window.onload = function() {
initialiseMenu("menu1", "menu1Starter");
initialiseMenu("menu2", "menu2Starter");
initialiseMenu("menu3", "menu3Starter");
initialiseMenu("menu4", "menu4Starter");
initialiseMenu("menu5", "menu5Starter");
initialiseMenu("menu6", "menu6Starter");
initialiseMenu("menu7", "menu7Starter");
}
Il problema è questo se gli js sono entrambi presenti il menù non apre piu' la parte a scomparsa.
Idee su come ovviare a questo ?
ciao e grazie paolo