On this page Ho una finestra popup jQuery e immagini ridimensionabili in miniatura. Se faccio il mouse sulle miniature, le immagini stanno ridimensionando perfettamente. Inoltre, quando clicco sul grande pulsante TV giallo "QuickBook TV" nel footer, il popup appare perfettamente come voglio.jQuery non funziona dopo il caricamento del contenuto tramite AJAX
Tuttavia, quando faccio clic sui pulsanti "Avanti" o "Indietro", AJAX viene utilizzato per caricare il nuovo contenuto e il mio jQuery non funziona più per il popup o le immagini di anteprima. Ho cercato un numero di forum in cerca di informazioni su questo problema, ma a causa della scarsa conoscenza di jQuery non sono stato in grado di capire cosa devo fare.
In seguito è la comparsa di jQuery
$(document).ready(function() {
$(".iframe").colorbox({ iframe: true, width: "1000px", height: "500px" });
$(".inline").colorbox({ inline: true, width: "50%" });
$(".callbacks").colorbox({
onOpen: function() { alert('onOpen: colorbox is about to open'); },
onLoad: function() { alert('onLoad: colorbox has started to load the targeted content'); },
onComplete: function() { alert('onComplete: colorbox has displayed the loaded content'); },
onCleanup: function() { alert('onCleanup: colorbox has begun the close process'); },
onClosed: function() { alert('onClosed: colorbox has completely closed'); }
});
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function() {
$('#click').css({ "background-color": "#f00", "color": "#fff", "cursor": "inherit" }).text("Open this window again and this message will still be here.");
return false;
});
});
e questa è la miniatura jQuery
$(function() {
var xwidth = ($('.image-popout img').width())/1;
var xheight = ($('.image-popout img').height())/1;
$('.image-popout img').css(
{'width': xwidth, 'height': xheight}
); //By default set the width and height of the image.
$('.image-popout img').parent().css(
{'width': xwidth, 'height': xheight}
);
$('.image-popout img').hover(
function() {
$(this).stop().animate({
width : xwidth * 3,
height : xheight * 3,
margin : -(xwidth/3)
}, 200
); //END FUNCTION
$(this).addClass('image-popout-shadow');
}, //END HOVER IN
function() {
$(this).stop().animate({
width : xwidth,
height : xheight,
margin : 0
}, 200, function() {
$(this).removeClass('image-popout-shadow');
}); //END FUNCTION
}
);
});
Grande Grazie tizio per l'aiuto. Il grosso problema, il problema delle miniature di immagini è stato risolto. Ma il problema del pop-up Colorbox è ancora lì. Potete indicarmi come posso chiamarlo al caricamento della pagina e nella richiesta Ajax? –
@AwaisImran Spostarlo in una funzione separata (come suggerito nella seconda metà della mia risposta), quindi chiamarlo al posto di quelle righe nella funzione '$ (document) .ready()' per gestire il caricamento della pagina. Tutte le funzioni AJAX in jQuery richiedono una funzione di callback di successo (opzionale), che verrà eseguita quando la risposta ha esito positivo. Devi solo chiamare la funzione al suo interno; Potrei essere più specifico se includessi le chiamate AJAX pertinenti nella tua domanda. –
Ehi Anthony, ho risolto il problema del popup. Cambio questo script "$ (document) .ready (function() {" a questa riga "$ (document) .on ('mouseover', '.iframe', function() {" e funziona perfettamente per me. Grazie mille per tutto il vostro supporto Vorrei poter diventare un esperto di jquery come voi :) –