Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: ime en 15 Febrero 2013, 21:16 PM

Título: js para parpadear
Publicado por: ime en 15 Febrero 2013, 21:16 PM
Hola amigos me podrian ayudar  a entender mi error.

<script>
var par=false;
var p;
function parpadeo() {
   col=par ? 'Yellow' : 'Red';
   document.getElementById('cel').style.background=col;
   par = !par;
   setTimeout("parpadeo()",200); //500 = medio segundo
}
function detener(){
   clearTimeout(p)
}
//window.onload=parpadeo;
</script>



<tr id='cel' <?php if($valor['Bandera'] == 1) echo "<script lenguaje=javascript'window.parpadeo=true;</script>";?></tr></a>


me imprime esto

id='cel' align='center' bottom='middle' onmouseover=this.style.background='#FFCC00' onmouseout=this.style.background='white' style='cursor: pointer'; ondblclick=document.location.href='consultar_informacion.php?Numero_Cel=9991432497'> id='cel' align='center' bottom='middle' onmouseover=this.style.background='#FFCC00' onmouseout=this.style.background='white' style='cursor: pointer'; ondblclick=document.location.href='consultar_informacion.php?Numero_Cel=9991432497'>


y no me pinta para que parpadee, cual sera mi error.. ayuda!
Título: Re: js para parpadear
Publicado por: Shell Root en 15 Febrero 2013, 23:30 PM
Supongo que tenes un error con el uso de las comillas simple y/o dobles  :silbar:

Por cierto, que carajos es esto:
Código (html4strict) [Seleccionar]
<tr id='cel' <?php if($valor['Bandera'] == 1) echo "<script lenguaje=javascript'window.parpadeo=true;</script>";?></tr></a>

Verifica en el fuente y veras que cortas la estructura de la lista...
Título: Re: js para parpadear
Publicado por: ime en 18 Febrero 2013, 15:42 PM
<tr id='cel' <?php if($valor['Bandera'] == 1) echo "<script lenguaje=javascript'window.parpadeo=true;</script>";?></tr></a> aquí es donde hago una validación para que cuando Bandera sea 1 entonces que llame la función parpadeo de js.
Título: Re: js para parpadear
Publicado por: #!drvy en 18 Febrero 2013, 15:44 PM
Lo que te ha dicho Shell Root es que estas cortando la etiqueta script en esa linea... fíjate:
echo "<script lenguaje=javascript'window

No crees que algo falla ahí ?

Saludos
Título: Re: js para parpadear
Publicado por: ime en 18 Febrero 2013, 17:57 PM
<tr id='cel' <?php if($valor['Bandera'] == 1) echo "<script lenguaje=javascript>window.parpadeo='true';</script>";?></tr></a>


ya lo corregi y no funciona solo me muestra los valores de la fila

id='cel' align='center' bottom='middle' onmouseover=this.style.background='#FFCC00' onmouseout=this.style.background='white' style='cursor: pointer'; ondblclick=document.location.href='consultar_informacion.php?Numero_Cel=9991432497'> id='cel' align='center' bottom='middle' onmouseover=this.style.background='#FFCC00' onmouseout=this.style.background='white' style='cursor: pointer'; ondblclick=document.location.href='consultar_informacion.php?Numero_Cel=9991432497'>

saludos
Título: Re: js para parpadear
Publicado por: EFEX en 18 Febrero 2013, 18:06 PM
Te faltan comillas dobles ( " ), donde será ?  :o

Código (php) [Seleccionar]
<tr id='cel' <?php if($valor['Bandera'] == 1) echo "<script lenguaje=javascript>window.parpadeo='true';</script>";?></tr></a>
Título: Re: js para parpadear
Publicado por: ime en 18 Febrero 2013, 18:20 PM
No se amigo la verdad eso estoy tratando de solucionar, te agradezco tu ayuda y muchas gracias.
Título: Re: js para parpadear
Publicado por: #!drvy en 18 Febrero 2013, 18:26 PM
Citar<tr id='cel' <?php if($valor['Bandera'] == 1) echo " <script lenguaje=javascript >window.parpadeo='true';</script>";?></tr></a>

1. Las propiedades HTML no se escriben en español.
2. Los valores de las propiedades HTML se declaran entre comillas dobles/simples.



No tiene ningun sentido darle un script como propiedad al TR...
Código (php) [Seleccionar]
<tr id="cel"> <?php if($valor['Bandera'] == 1) echo "<script type="text/javascript">window.parpadeo();</script>"?></tr></a>

Saludos
Título: Re: js para parpadear
Publicado por: ime en 18 Febrero 2013, 18:31 PM
<tr id="cel"> <?php if($valor['Bandera'] == 1) echo "<script type="text/javascript">window.parpadeo=true;</script>"; ?></tr></a>
Título: Re: js para parpadear
Publicado por: #!drvy en 18 Febrero 2013, 18:32 PM
Re-lee mi respuesta.

Si supieras lo que estabas haciendo, en vez de hacer copy/paste sabrías lo que hacer.
Saludos
Título: Re: js para parpadear
Publicado por: ime en 18 Febrero 2013, 18:37 PM
lo que pasa quiero llamar la funcion js desde TR por eso lo aplico dentro del TR para que las filas que sean iguales a 1 sean pintadas y parpaden.
Título: Re: js para parpadear
Publicado por: #!drvy en 18 Febrero 2013, 18:41 PM
Código (html4strict) [Seleccionar]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento</title>
<script>
var par=false;
var p;
function parpadeo() {
   col=par ? 'Yellow' : 'Red';
   document.getElementById('cel').style.background=col;
   par = !par;
   setTimeout("parpadeo()",200); //500 = medio segundo
}
function detener(){
  clearTimeout(p)
}
//window.onload=parpadeo;
</script>
</head>

<body>
<table>
<tr id="cel"><script type="text/javascript">window.parpadeo();</script><td>Texto</td></tr>
</table>
</body>
</html>


Esto es funcional. Fíjate y adaptalo a tus necesidades.

Saludos
Título: Re: js para parpadear
Publicado por: ime en 18 Febrero 2013, 18:43 PM
Gracias amigo, te lo agradezco a lo voy a checar aurita y te comento saludos.
Título: Re: js para parpadear
Publicado por: ime en 18 Febrero 2013, 18:51 PM
ya lo cheque amigo es correcto el codigo el problema esta que estoy usando php y al momento de llamar la funcion  dentro del echo me sale esto:

window.parpadeo(); id="cel" esta tomando los valores que tiene TR

<tr id="cel" <?php if($valor['Bandera'] == 1) echo '<script type="text/javascript">window.parpadeo();</script>';
Título: Re: js para parpadear
Publicado por: #!drvy en 18 Febrero 2013, 19:00 PM
Otra vez, NO pongas el echo en las propiedades de TR porque va a joder toda la estructura HTML y va a venir un dinosaurio a comerse tu disco duro...

Esto fue lo que le paso a uno que intento lo mismo
(http://media.tumblr.com/fdf530f77d229281503dce702191e7e1/tumblr_inline_mhwrv6721L1qz4rgp.gif)

Código (php) [Seleccionar]
<script>
var par=false;
var p;
function parpadeo() {
  col=par ? 'Yellow' : 'Red';
  document.getElementById('cel').style.background=col;
  par = !par;
  setTimeout("parpadeo()",200); //500 = medio segundo
}
function detener(){
 clearTimeout(p)
}
//window.onload=parpadeo;
</script>
</head>
<body>
   <table>
   <tr id="cel">
       <?php if($valor['bandera']==1){echo '<script type="text/javascript">window.parpadeo();</script>';} ?>
       <td>Texto</td>
   </tr>
   </table>
</body>
</html>


Edit: Saludos xD
Título: Re: js para parpadear
Publicado por: ime en 18 Febrero 2013, 19:04 PM
Gracias amigo por tu ayuda te lo agradezco mucho. Hay lo voy a corregir.
Título: Re: js para parpadear
Publicado por: ime en 18 Febrero 2013, 19:20 PM
Gracias amigo esta correcto pero solo parpadea la fila primera, digamos si hay 8 filas
que todos los que tenga un valor 1 que parpadeen y los que no, que no hagan nada.

en pocas palabras que parpadee en las demas filas que tengan Bandera==1.  como le aria?