| |||
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. |
| |||
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: |