Я использую плагин colorbox jQuery при отображении изображений из галереи. Поэтому, когда у меня есть большое количество изображений, я не хочу загружать все изображения, я хочу сделать запрос ajax и получить только необходимый образ, когда пользователь нажимает кнопку «next», например. Очше more.User нажимает следующий и после того, как я делаю запрос ajax и получаю изображение. Итак, как я могу это реализовать?jQuery colorbox ajax request on 'next' click
ответ
Вам не нужен AJAX, если вы знаете URL-адрес изображений.
var counter = 0;
var images = ['/url/to/image1.jpg', '/url/to/image2.jpg', '/url/to/image3.jpg'];
$("#next_button").click(function() {
counter ++;
$("#my_image").attr("src", images[counter]);
}
Я дам вам добавить кнопку «Назад», а некоторые проверки ошибок (убедитесь, что вы не ушли от конца массива, и т.д.).
Спасибо за ответ, но я забыл сказать, что получаю изображения из db. – Alex
Хорошо, это совсем другая проблема. Вы можете либо заполнить весь массив JS заранее, либо использовать AJAX, но это будет немного медленнее. Через секунду я наброшу код AJAX. –
Большое спасибо, я жду с интересом – Alex
HTML:
<img id="[[image_db_id]]" class="theImage" src="url/for/my/first/image.jpg" />
<a href="#null" class="goButton" id="prev">Prev</a> | <a href="#null" class="goButton" id="next">Next</a>
JS:
$(".goButton").click(function() {
var dir = $(this).attr("id");
var imId = $(".theImage").attr("id");
$.ajax({
url: "path_to_your_ajax_script.php",
data: {
current_image: imId,
direction : dir
},
success: function(ret) {
$("#theImage").attr("src", ret);
if ('prev' == dir) {
imId ++;
} else {
imId --;
}
$("#theImage").attr("id", imId);
}
});
});
PHP
<?php
if ("prev" == $_POST['direction']) {
$id = $_POST['current_image'] - 1;
} else {
$id = $_POST['current_image'] + 1;
}
$q = yourQueryFunction("SELECT url FROM images WHERE id = '".mysql_real_escape_string($id)."'");
print $q['url'];
Очевидно, что это не отличное решение, так как предполагает, что изображение всегда существует, ваша таблица MySQL имеет последовательный список идентификаторов без пробелов и т. Д. Но это хорошая начальная точка. –
Спасибо! Я попробую это решение, но я уверен, что он будет работать соответствующим образом. – Alex
Добро пожаловать. –
- 1. No Next/Prev Button on jQuery colorbox
- 2. Slidetoggle next using on click
- 3. jquery traversal next sibling on click
- 4. Invoke jQuery on Ajax Request
- 5. Повторное событие JQuery Click on Next Click в Mobile Safari
- 6. Preload Images on ajax request
- 7. jCarousel ajax load on next button
- 8. jQuery Ajax Request in Ajax Request
- 9. Colorbox with .post() request
- 10. Next/Previous Slide on Button click with jQuery Cycle
- 11. Flexslider 'Next' click event on radio button
- 12. on click change next TD table
- 13. jQuery-ajax 'on click event' не работает
- 14. jQuery .on ('click') duplicate ajax calls
- 15. jQuery submit ajax post on anchor click
- 16. jquery ajax: request failed
- 17. jQuery FullCalendar click 'next' event notificatin
- 18. CORS jQuery AJAX request
- 19. jQuery Colorbox: Закрыть Colorbox on press submit button
- 20. Jquery multiple on click
- 21. autocomplete on button click jquery
- 22. jquery faking ajax request
- 23. jQuery request image on focus
- 24. jquery on click event input
- 25. Открыть Next inline Colorbox Div по клику
- 26. jquery on click does not work on ajax generated content
- 27. jQuery intermittent .on ('click')
- 28. Colorbox после ajax form submit закрыть colorbox с помощью jquery
- 29. jQuery click listeners & AJAX request - Второй прослушиватель не работает
- 30. JQuery on ("click") Не работает
Ничего здесь делать с "ColorBox". Вот вызов Ajax http://api.jquery.com/jQuery.ajax/ – AlexC