
03/05/2004, 10:30
|
 | Colaborador | | Fecha de Ingreso: febrero-2001 Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses Puntos: 535 | |
Estás intercalando mál el contenido del ASP con el de javascript. Para mi, a simple vista y sin investigar mucho el código, el DO WHILE...LOOP lo tenés que hacer dentro de la variable JS llamada marqueecontents para generar dinámicamente todo el contenido. El script modificado quedaría así, aunque no se si funciona porque no lo probé: <html>
<head>
<title>Listado de noticias</title>
</head>
<body>
<%
'Abre la conexion con la base de datos a traves de una conexion ODBC
Set con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("noticias.mdb")&";"
'Ejecuta un sentencia SQL de consulta
sql = "SELECT * FROM Noticias ORDER BY id DESC"
Set result = con.Execute(sql)
'Recorre todas las filas del resultado
'Do While Not result.EOF
' Muestra la fila actual
%>
<script language="JavaScript1.2">
// ancho
var marqueewidth=200
// alto
var marqueeheight=200
// velocidad
var speed=1
// contenido
var marqueecontents='<% Do While Not result.EOF
Response.Write "<p><b><font face=Verdana size=1><a href=noticia.asp?id=" &result.Fields("id") & ">"&result.Fields("titulo")&"</a></b><br><font color=""#696969"">• " &result.Fields("copete") & "</font></font></p><BR>"
result.MoveNext
Loop
%>'
if (document.all)
document.write('<marquee direction="up" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheig ht+'">'+marqueecontents+'</marquee>')
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
setTimeout("window.onresize=regenerate",450)
intializemarquee()
}
}
function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.w rite(marqueecontents)
document.cmarquee01.document.cmarquee02.document.c lose()
thelength=document.cmarquee01.document.cmarquee02. document.height
scrollit()
}
function scrollit(){
if (document.cmarquee01.document.cmarquee02.top>=thel ength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marque eheight
scrollit()
}
}
window.onload=regenerate2
</script>
<%
'Pasa a la siguiente fila
'result.MoveNext
'Loop
'Libera memoria
result.Close
Set result = Nothing
con.Close
Set con = Nothing
%>
</body>
</html>
Fijate si anda correctamente
saludos |