Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > как переделать скрипт?


Автор: ОнКофе 15.3.2006, 11:03
Код

<script language="JavaScript"> 
var isIE, isNS, isNS6, isDOM, lR, sR, vis, invis, myTimeOut, goName; 
if (document.all) {isIE= true;lR="document.all.";sR=".style";vis="visible";invis="hidden";} 
if (document.layers){isNS = true;lR="document.layers.";sR="";vis="show";invis="hide";} 
if (document.getElementById &&!isIE) {isDOM=true;lR = "document.getElementById('";sR = "').style";invis ="hidden";vis = "visible"} 
if (isDOM == true && navigator.appName =="Netscape") isNS6 = true; 
var oldwhich = 0; 
var x=0; 
var layerTimer; 
//показать подменю 
function layOver(which) 
{x=0;l = eval(lR + "l" + which + sR); 
if (oldwhich != which){ ol = eval(lR + "l" + oldwhich + sR);ol.visibility = invis;} 
l.visibility = vis; 
oldwhich = which; 
clearTimeout(layerTimer); 
return;} 
// спрятать подменю 
function stopOver() 
{ 
if (x<5) x++; 
else 
{ 
ol = eval(lR + "l" + oldwhich + sR); 
ol.visibility = invis; 
x=0; 
} 
layerTimer = setTimeout("stopOver()",10) 
} 

//обнулить тамер 
function startOver() 
{ 
x=0 
clearTimeout(layerTimer); 
} 
</SCRIPT> 


как переделать этот сскрипт, чтобы в
<td onmouseout=stopOver() onmouseover=layOver(1)> не указывать в скобках номер пункта , а в <div id=l1> не указывать id ? То есть чтобы скрипт был универсальным и открывал и прятал слои не зависимо от его id

Автор: 12345c 15.3.2006, 14:18
Скрипту надо как-то знать, какой подпункт открывать, поэтому ему пишут здесь номера. Если хотите по-другому, структуру меню надо где-то отобразить (в хеше, в строке со скобками), а скрипт ползал бы по ней и искал, что отобразить из данного места меню.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)