Я делаю веб-сайт для просмотра фильмов в качестве проекта для школы, и я хочу поместить функцию клика на обложку фильма, в которой будут загружены детали и обзоры этого фильма. Код, который я использую, работает, но не кажется практичным. Параметр в моей функции loadReviews - это идентификатор фильма для базы данных.Нажмите «Функция» с помощью AJAX JQuery Javascript
$(document).ready(function() {
$("#cover1").click(function() { loadReviews(1); });
$("#cover2").click(function() { loadReviews(2); });
$("#cover3").click(function() { loadReviews(3); });
$("#cover4").click(function() { loadReviews(4); });
$("#cover5").click(function() { loadReviews(5); });
$("#cover6").click(function() { loadReviews(6); });
$("#cover7").click(function() { loadReviews(7); });
$("#cover8").click(function() { loadReviews(8); });
$("#cover9").click(function() { loadReviews(9); });
$("#cover10").click(function() { loadReviews(10); });
$("#cover11").click(function() { loadReviews(11); });
$("#cover12").click(function() { loadReviews(12); });
});
Как вы можете видеть, я пишу каждый вручную. Я попытался использовать цикл for, как это, но не работает так, как я думал.
for (i = 1; i < 12; i++) {
$("#cover" + i).click(function() { loadReviews(i); });
}
Используя петлю, каждое изображение загружает детали одного и того же фильма (# 12). Каждому изображению присваивается класс 'cover1', 'cover2' и т. Д. Я хочу, чтобы какой-то «цикл» автоматически привязывал каждое событие клика к правильному обложке изображения. Я использую общий обработчик в Visual Studio 15. Мы должны использовать ajax и jquery для обновления страницы без обратной передачи, так я получаю фильмы и обзоры.
Если мне нужно показать больше кода, дайте мне знать. Благодаря!
Как выглядит ваша структура HTML? Это кажется хорошим примером использования делегированного события click. Это позволит вам использовать одно чистое и эффективное событие ... – War10ck