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

Tablon de noticias con asp y javascript????

Estas en el tema de Tablon de noticias con asp y javascript???? en el foro de ASP Clásico en Foros del Web. Amigo encontre un tablon de noticias hecho con asp, y es el que buscaba, pero con la salvedad que el mismo lo quiero con movimiento. ...
  #1 (permalink)  
Antiguo 03/05/2004, 06:43
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 4 meses
Puntos: 1
Tablon de noticias con asp y javascript????

Amigo encontre un tablon de noticias hecho con asp, y es el que buscaba, pero con la salvedad que el mismo lo quiero con movimiento. Por tal razón modifique el codigo asp incluyendole un javascript que lo que hace es pasar la noticia hacia arriba. El codigo es el siguiente:

<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='<%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>"%>'

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>

Pero el problema que tengo es que no respeta el salto de un titulo a otro, pasando la noticia seguida es decir uno a lado del otro, como puedo resolver este problema????


Miguel
  #2 (permalink)  
Antiguo 03/05/2004, 10:30
Avatar de 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
  #3 (permalink)  
Antiguo 03/05/2004, 11:30
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 4 meses
Puntos: 1
Gracias dezugua, funciono a las mil maravillas, a hora lo colocare en la pagina que estoy haciendo espero contar contigo en otras oportunidades


Miguel
__________________
Miguel Padrón :cool:
  #4 (permalink)  
Antiguo 11/03/2009, 13:46
 
Fecha de Ingreso: septiembre-2007
Mensajes: 318
Antigüedad: 17 años, 7 meses
Puntos: 1
De acuerdo Respuesta: Tablon de noticias con asp y javascript????

Hola estoy tratando de hacer lo mismo pero en vez de noticias quiero mostrar la gente que esta cumpliendo hoy, ya habia hecho esta consulta antes pero no he obtenido ayuda. fijense yo tengo el siguiente codigo:

<script language="JavaScript1.2">
var marqueewidth=50
var marqueeheight=20
var speed=1
</script>
<%
Dim oConn1, rs1, sql, unidad, fecha, n
set oConn1 = Server.CreateObject("ADODB.Connection")
set rs1=Server.CreateObject("ADODB.Recordset")
OConn1.Open "Provider=SQLOLEDB;Data Source=jnjvecadbws;Initial Catalog=RRHH; User Id=enlace;Password=enece6f;"
fechactual = Date()
dia = Day(fechactual)
mes = Month(fechactual)
sql= "Select Empleado.Nombre, Empleado.Email from Empleado where day(Fch_Nacimiento)='"&dia&"' and month(Fch_Nacimiento)='"&mes&"'"
rs1.Open sql,oConn1
If rs1.eof then
Response.Write ("<strong><FONT FACE=Verdana SIZE=1>No Hay Cumpleaños el Día de Hoy</strong></FONT>")
else
Response.Write("<IMG BORDER=0 SRC='imagenes\pastel06.gif'>")
%>
<script language="JavaScript1.2">
var marqueecontents='<% while not rs1.eof Response.Write("<strong><font face=Verdana size=1 color= #1C455E ><a href="&rs1.fields("Email")&">"&rs1.Fields("Nombre" )& "</a></strong></font>")%>'

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>

trate de hacer lo mismo que el otro code pero no logro ponerlo en marcha, podrian ayudarme con este por favor.
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 11:44.