На this page У меня есть всплывающее окно jQuery и уменьшенные изображения. Если я нажимаю на миниатюры, изображения отлично изменяются. Кроме того, когда я нажимаю на большую желтую кнопку TV «QuickBook TV» в нижнем колонтитуле, всплывающее окно выглядит идеально, как я этого хочу.jQuery не работает после того, как содержимое загружается через AJAX
Однако, когда я нажимаю кнопки «Далее» или «Пред», AJAX используется для загрузки нового содержимого, и мой jQuery больше не работает для всплывающих или миниатюр. Я искал несколько форумов, которые искали информацию по этой проблеме, но из-за ограниченного знания jQuery я не мог понять, что мне нужно делать.
Ниже всплывающий 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;
});
});
И это эскизы 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
}
);
});
Большое спасибо чувак за помощь. Большая проблема, проблема с эскизами изображений устранена. Но проблема с Colorbox popop все еще существует. Можете ли вы, пожалуйста, направить меня, как я могу назвать это при загрузке страницы и в запросе Ajax? –
@AwaisImran Переместите его в отдельную функцию (как предложено во второй половине моего ответа), затем назовите это вместо этих строк в вашей функции '$ (document) .ready()' для обработки загрузки страницы. Все функции AJAX в jQuery принимают (необязательную) функцию обратного вызова успеха, которая будет выполняться, когда ответ будет успешным. Вам просто нужно вызвать функцию внутри этого; Я мог бы быть более конкретным, если бы вы включили в свой вопрос соответствующие AJAX-вызовы. –
Эй Энтони, я исправил всплывающее сообщение. Я изменяю этот скрипт «$ (document) .ready (function() {« в эту строку »$ (document) .on ('mouseover', '.iframe', function() {", и он отлично работает для меня. Спасибо большое за всю вашу поддержку. Хотел бы я стать экспертом по jQuery, как вы :) –