J
Juanjo87
Gamma
Diseñador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
buenas, pues estoy intentando crear una función para que al apretar un botón "siguiente",automáticamente se ejecute la función del div siguiente y se aprieto otro botón "atrás" se me cargue la función del div anterior.
Actualmente paso bien de un div a otro con los botones siguiente y atrás, por ejemplo.
Tengo una galería de 10 imágenes en horizontal, que al cargar la pagina se establece la primera como marcada cor un borde blanco, si aprieto el botón siguiente, este borde blanco pasa a la segunda imagen, si pulso atrás, vuelve a la imagen anterior, hasta aquí todo ok. El problema viene cuando intento cargar la función que dicha imagen tiene asignada a un atributo onclick que me llama a la función jquery.
Todas las imágenes están dentro de una etiqueta < a> </ a> así:
y al presionar en la imagen la función carga perfectamente.
Entonces, ¿por que cuando intento activar la función con los botones, siguiente, anterior, me tira el error Wrong id?
Este es el código con el que estoy teniendo problemas
Exactamente el error viene cuando llamo a la función response
todo lo anterior funciona bien.
Donde esta el fallo?
- - - Actualizado - - -
seguramente este aqui el fallo
- - - Actualizado - - -
lo he solucionado así
Actualmente paso bien de un div a otro con los botones siguiente y atrás, por ejemplo.
Tengo una galería de 10 imágenes en horizontal, que al cargar la pagina se establece la primera como marcada cor un borde blanco, si aprieto el botón siguiente, este borde blanco pasa a la segunda imagen, si pulso atrás, vuelve a la imagen anterior, hasta aquí todo ok. El problema viene cuando intento cargar la función que dicha imagen tiene asignada a un atributo onclick que me llama a la función jquery.
Todas las imágenes están dentro de una etiqueta < a> </ a> así:
Insertar CODE, HTML o PHP:
<a id="<?php echo $post->ID;?>" href="tooltip-ajax" onclick="showFicha_tooltip('<?php echo $post->ID;?>','tooltip_ajax','tooltip-ajax'); return false;">
y al presionar en la imagen la función carga perfectamente.
Entonces, ¿por que cuando intento activar la función con los botones, siguiente, anterior, me tira el error Wrong id?
Este es el código con el que estoy teniendo problemas
PHP:
$(document).ready(function() {
var divs = $('#carousel-accion>li a');
var now = 0; // currently shown div
divs.css("border", "0").first().css("border", "solid 1px white"); // hide all divs except first
$("button[name=next]").click(function() {
divs.eq(now).css("border", "0");
now = (now + 1 < divs.length) ? now + 1 : 0;
divs.eq(now).ready(
function showFicha_tooltip(id){
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
$(".modal_trailer").fadeIn(500);
$(".trailer").fadeIn(500) .html("<div id='load-ajax'>loading...</div>");
jQuery.post(
ajaxurl,
{
'action': 'tooltip_ajax',
'post_id': id
},
function(response){
$(".trailer").fadeIn(2500).html(response);
}
);
}
);
});
$("button[name=prev]").click(function() {
divs.eq(now).css("border", "0");
now = (now > 0) ? now - 1 : divs.length - 1;
divs.eq(now).ready(
function showFicha_tooltip(id){
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
$(".modal_trailer").fadeIn(500);
$(".trailer").fadeIn(500) .html("<div id='load-ajax'>loading...</div>");
jQuery.post(
ajaxurl,
{
'action': 'tooltip_ajax',
'post_id': id
},
function(response){
$(".trailer").fadeIn(2500).html(response);
}
);
}
);
});
});
Exactamente el error viene cuando llamo a la función response
PHP:
function(response){
$(".trailer").fadeIn(2500).html(response);
}
todo lo anterior funciona bien.
Donde esta el fallo?
- - - Actualizado - - -
seguramente este aqui el fallo
PHP:
jQuery.post(
ajaxurl,
{
'action': 'tooltip_ajax',
'post_id': id
},
- - - Actualizado - - -
lo he solucionado así
PHP:
$(document).ready(function() {
var divs = $('#carousel-accion>li a');
var now = 0; // currently shown div
divs.css("border", "0").first().css("border", "solid 1px white"); // hide all divs except first
$("button[name=next]").click(function() {
divs.eq(now).css("border", "0");
now = (now + 1 < divs.length) ? now + 1 : 0;
divs.eq(now).click();
});
$("button[name=prev]").click(function() {
divs.eq(now).css("border", "0");
now = (now > 0) ? now - 1 : divs.length - 1;
divs.eq(now).click();
});
});
Última edición: