Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/05/2004, 10:30
Avatar de AlZuwaga
AlZuwaga
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