Foros del Web » Programando para Internet » ASP Clásico »

Nunca Me Contestaron- Error En Menus Desplegables

Estas en el tema de Nunca Me Contestaron- Error En Menus Desplegables en el foro de ASP Clásico en Foros del Web. Hola amigos, hace cosa de un mes aprox. arroje un TEMA sobre error en menus desplegables. La verdad es que no me contestaron y me ...
  #1 (permalink)  
Antiguo 18/12/2005, 04:50
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 18 años, 11 meses
Puntos: 0
Exclamación Nunca Me Contestaron- Error En Menus Desplegables

Hola amigos, hace cosa de un mes aprox. arroje un TEMA sobre error en menus desplegables.
La verdad es que no me contestaron y me seria de muchiiiisima ayuda una respuesta, AYUDENME PLEASE!!!!!

El error es que necesito contruir unos menús desplegables cogiendo opciones de una base de datos.
Solo me funciona con el primer menú, el resto no me los muestra en pantalla.

Les adjunto el código, tanto el ficheo JS como el código ASP relacionado.

ARCHIVO: MENU.JS
*******************
var TIMER_SLIDE = null;
var OBJ_SLIDE;
var OBJ_VIEW;
var PIX_SLIDE = 10; //this is the amount of slide/DELAY_SLIDE
var NEW_PIX_VAL;
var DELAY_SLIDE = 30; //this is the time between each call to slide
var DIV_HEIGHT = 22; //value irrelevant
var SUB_MENU_NUM =0;
var RE_INIT_OBJ = null;
var bMenu = document.getElementById("curMenu");
var MainDiv,SubDiv

//DD added code
document.write('<div id="tempcontainer" class="mainDiv" style="visibility: hidden; position: absolute"></div>')

function Init(objDiv)
{
if (TIMER_SLIDE == null)
{
SUB_MENU_NUM = 0;
MainDiv = objDiv.parentNode;
SubDiv = MainDiv.getElementsByTagName("DIV").item(0);
SubDiv.onclick = SetSlide;

OBJ_SLIDE = MainDiv.getElementsByTagName("DIV").item(1)
OBJ_VIEW = OBJ_SLIDE.getElementsByTagName("DIV").item(0);

document.getElementById("tempcontainer").innerHTML =MainDiv.getElementsByTagName("DIV").item(2).inner HTML //DD added code
DIV_HEIGHT=document.getElementById("tempcontainer" ).offsetHeight //DD added code

for (i=0;i<OBJ_VIEW.childNodes.length;i++)
{
if (OBJ_VIEW.childNodes.item(i).tagName == "SPAN")
{
SUB_MENU_NUM ++;
OBJ_VIEW.childNodes.item(i).onmouseover= ChangeStyle;
OBJ_VIEW.childNodes.item(i).onmouseout= ChangeStyle;
}
}

NEW_PIX_VAL = parseInt(MainDiv.getAttribute("state"));
}

}
function SetSlide()
{
if (window.TIMER_SLIDE) clearInterval(TIMER_SLIDE) //DD added code
if (TIMER_SLIDE == null && this.parentNode == MainDiv)
TIMER_SLIDE = setInterval('RunSlide()', DELAY_SLIDE);
else
{
RE_INIT_OBJ = this;
setTimeout('ReInit()', 200);
}
}

function ReInit(obj)
{
Init(RE_INIT_OBJ);
TIMER_SLIDE = setInterval('RunSlide()', DELAY_SLIDE);
RE_INIT_OBJ = null;
}

function RunSlide()
{

if (OBJ_VIEW.getAttribute("state") == 0)
{

NEW_PIX_VAL += PIX_SLIDE;
OBJ_SLIDE.style.height = NEW_PIX_VAL;

if (NEW_PIX_VAL >= DIV_HEIGHT) //DD modified code
{
clearInterval(TIMER_SLIDE);
TIMER_SLIDE = null;
OBJ_VIEW.style.display = 'inline';
OBJ_VIEW.setAttribute("state","1")
MainDiv.setAttribute("state",NEW_PIX_VAL);
}
} else
{
OBJ_VIEW.style.display = 'none';
NEW_PIX_VAL -= PIX_SLIDE;
if(NEW_PIX_VAL > 0)OBJ_SLIDE.style.height = NEW_PIX_VAL;
if (NEW_PIX_VAL <= 0)
{
NEW_PIX_VAL = 0;
OBJ_SLIDE.style.height = NEW_PIX_VAL
clearInterval(TIMER_SLIDE);
TIMER_SLIDE = null;
OBJ_VIEW.setAttribute("state","0")
MainDiv.setAttribute("state",NEW_PIX_VAL);
}
}
}

function ChangeStyle()
{
if (this.className == this.getAttribute("classOut"))
this.className = this.getAttribute("classOver");
else
this.className = this.getAttribute("classOut");
}



********************
FICHERO ASP (SOLO PONGO EL CODIGO RELACIONADO A LOS MENUS, LAS DEMAS TABLAS DE LA PAG. LAS IGNORO
*************************
<body>
<script language="JavaScript" type="text/javascript" src="menu.js"></script>
dim conexionBd1,rsusua1,sqlusua1,emenu,opcion,sqlusua2 ,rsusua2,contador1
Set ConexionBd1=Server.CreateObject("ADODB.Connection" )
SQLusua1="SELECT DISTINCT categoria1 FROM categorias "
SQLusua2="SELECT categoria1,categoria2 FROM subcategoria "
conexionBd1.Open"DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("XXXX/YYY.mdb"),3,1
set RSusua1=ConexionBd1.execute(SQLusua1)
set RSusua2=ConexionBd1.execute(SQLusua2)
contador1=0

While Not RSusua1.EOF

emenu=Rsusua1.fields("categoria1")

%>

<!--------INICIO MENU 1---------->
<div class="mainDiv" state="0">
<div class="topItem" classOut="topItem" classOver="topItemOver" onMouseOver="Init(this);" >
<p class="b01"><img src="images/e02.gif" width="6" height="5" alt="" border="0" align="absmiddle">&nbsp;&nbsp;<%=Rsusua1.fields("c ategoria1")%></div>
<div class="dropMenu" >

<div class="subMenu" state="0">


<%While Not RSusua2.EOF
If rsusua1.fields("categoria1")=rsusua2.fields("categ oria1") then%>
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.dynamicdrive.com"><%=Rsusua2.fields("categoria 2")%></a></span><BR />
<%end if

RSusua2.Movenext

Wend%>

</P>
</div>
</div>
</div>

<div align="center"><img src="images/hr01.gif" width="137" height="3" alt="" border="0"></div>

<%

RSusua1.Movenext%>

<%Wend
RSusua1.CLOSE
RSusua2.CLOSE
Set RSusua1 = Nothing
ConexionBD1.Close
Set ConexionBD1 = Nothing
%>

************************

ESPERO QUE OS SIRVA PARA PODER AYUDARME, GRACIAS
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:15.