Foros del Web » Programando para Internet » Javascript »

javascript repetido

Estas en el tema de javascript repetido en el foro de Javascript en Foros del Web. Hola a todos resulta que hice un pequeño sistema de "ver mas" comentarios estilo facebook tambien le implemente el boton me gusta, al haber mas ...
  #1 (permalink)  
Antiguo 29/08/2014, 08:55
 
Fecha de Ingreso: diciembre-2013
Mensajes: 108
Antigüedad: 10 años, 4 meses
Puntos: 1
javascript repetido

Hola a todos resulta que hice un pequeño sistema de "ver mas" comentarios estilo facebook tambien le implemente el boton me gusta, al haber mas de 10 comentarios se realiza la paginacion del ver mas entonces supongamos que tenga 30 comentarios habran 3 ver mas ya que paginara de 10 en 10, mi problema radica en que al llegar a mas de 2 paginaciones entonces al darle me gusta me ejecuta 2 veces mi funcion de ajax eso hace que el voto se guarde 2 veces y al hacer eso es como si 2 usuarios hubieran votado y no solo 1, y no es solo eso supongamos que tenga 50 comentarios entonces habran 5 paginaciones al llegar a la 5ta paginacion y darle me gusta en cualquier comentario este se ejecuta 4 veces, eh llegado a la conclusion de que se ejecuta de ese modo porque cuando pincho el boton "ver mas" se ejecuta el javascript que le puse para que me funcione tanto el megusta como otras cosas que tiene mi sistema entonces al haber por ejemplo 10 paginaciones este se ejecutara 10 veces y es por eso que al darle en megusta se repite muchas veces, habra algo para que al paginar no se necesite incluir el javascript si no que se cargue ya con toda la pagina?, eh intentado todo para lograra que el java script se me ejecute una ves pero con paginacion no sirve, alguna idea o algo.
  #2 (permalink)  
Antiguo 30/08/2014, 01:32
 
Fecha de Ingreso: agosto-2014
Ubicación: Chile
Mensajes: 9
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: javascript repetido

Amigo ya te había respondido a tu duda mas reciente pero habiendo leído este mensaje ya me queda más claro tu dilema.

A simple vista se vé que la lógica de tu código no es la adecuada. Me gustaría echarle un vistazo a ese "rollo" de código que debes tener =D

- Primero que todo, usa funciones tanto para los "me gusta" como para "Ver más" y "las paginaciones" y lo pones en un script el cual cargas solo en el header de la página.
- Usa solo 1 "me gusta" y solo 1 "ver mas" asi cuando los preciones solo ejecutarán la tarea 1 vez.
- En cada paginación solo carga los comentarios, nada de javascript.

PSEUDO CODIGO:
Código:
<script> 
function like(obj, id) {
  $.ajax(...).sucess(...);
  obj.innerHTML = "Te gusta esto, <a href="#" onclick="unlike(this,id);">ya no me gusta</a>.";
} 
function unlike(obj, id) {
  $.ajax(...).sucess(...);
  obj.innerHTML = "<a href="#" onclick="like(this,id);">Me Gusta</a>";
}
more_page = 1;
function more(obj, id) {
  $.ajax(...)...
  var content = coments_back_from_server();
  more_page = 2;
  obj.parent.addChild(...) //insertar objetos LI (comentarios) mediante DOM
  obj.innerHTML = "No hay mas comentarios";
  obj.onclick = function() {/*funcion vacía*/};
}
</script>

<div class="publicacion">
  <h1>Antonio Perez publicó:</h1>
  <p>Hola mundo xD</p>
  <div class="publicacion-tools">
    <ul class="tools">
      <li class="tools-like" onclick="like(this,123352);">Me gusta</li>
      <li class="tools-like-comments">112 omentarios</li>
    </ul>
    <ul class="comentarios">
      <li>Eso ya pasó de moda!</li>
      <li>Otra ves con eso, no hay manera de cambiarlo.</li>
      <li onclick="more(this,123352);">Ver mas</li>
    </ul>
  </div>
</div>

Etiquetas: ajax, funcion, repetido
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 22:29.