- 12, May 2024
- #1
Мне действительно нужна твоя помощь.
У меня есть два HTML-файла: index.html и HTML-код фильма. В index.html у меня есть скрипт, который выглядит следующим образом.
Как я могу отобразить изображение на основе кликнутого идентификатора? Например, если я нажму на один элемент с идентификатором 1, чтобы отобразить свойства из файла JSON одного объекта, в данном случае объекта 1, с идентификатором 1.
У меня есть два HTML-файла: index.html и HTML-код фильма. В index.html у меня есть скрипт, который выглядит следующим образом.
$( document ).ready( function () {
$.getJSON( "js/appjson.json", function ( data ) {
for ( var i = 0; i < data.length; i++ ) {
$( '.MovieInfo' ).append(
"<div class="imgStill">" + data[ i ].movieStill + "</div>"
)
}
} );
} );
Код (JavaScript): у меня есть файл JSON локально, и он выглядит так.
[ { "id": 1, "name": "Harry potter and the Sorcerer's Stone", "year": 2001, "movieStill" : " <img src='imgsMovie/HP1/StillPhoto/StillPhotoBackground.jpg'/>",\ }, { "id": 2, "name": "Harry potter and the Chamber of Secrets ", "year": 2001, "movieStill" : " <img src='imgsMovie/HP2/StillPhoto/StillPhotoBackground.jpg'/>",\ } ]
Код (JavaScript): в моем Movie.html у меня также есть сценарий, который выглядит следующим образом.
$( document ).ready( function () { $.getJSON( "js/appjson.json", function ( data ) { for ( var i = 0; i < data.length; i++ ) { for ( var key in data[ i ] ) { if ( key === "novel" ) { $( '#jsonLoad' ).append( '<a href="movies.html?id='+data[i].id'" class="itemsHolder">' + "<div class="titleHolder">" + "<h2>" + data[ i ].name + "</h2>" + "</div>" + "<div class="novelAuthor">" + "<p class="NovelTxt">" + "Novel by" + " " + data[ i ].novel +"</p>" + "</div> " + "<div class="posterHolder">" + data[ i ].posterPath + "</div>" + "<div class="summaryShort">" + data[ i ].summary + "</div>" + "<div class="raiting"><p>" + data[ i ].imdb + "</p></div><div class="genderMovie"> " + data[ i ].gender + "</div> " + "<div class="directorNdScreen">" + 'Directed by ' + " <p class="director">" + data[ i ].director + '</p>' + ' ' + ' Screenplay by ' + "<p class="screenplay">" + data[ i ].screenplay + "</p>" + "</div>" + "</a>" ) } } if(!data[i].novel){ $( '#jsonLoad' ).append( '<a href="movies.html?id='+data[i].id+'" class="itemsHolder">' + "<div class="titleHolder">" + "<h2>" + data[ i ].name + "</h2>" + "</div>" + "<div class="posterHolder">" + data[ i ].posterPath + "</div>" + "<div class="summaryShort">" + data[ i ].summary + "</div>" + "<div class="raiting"><p>" + data[ i ].imdb + "</p></div><div class="genderMovie"> " + data[ i ].gender + "</div> " + "<div class="directorNdScreen">" + 'Director by ' + " <p class="director">" + data[ i ].director + '</p>' + ' ' + ' Screenplay by ' + "<p class="screenplay">" + data[ i ].screenplay + "</p>" + "</div>" + "</a>" ) } } } ) } );
Код (JavaScript): Моя проблема в том, что он печатает мне два изображения, потому что я зацикливаюсь на всех объектах.
Как я могу отобразить изображение на основе кликнутого идентификатора? Например, если я нажму на один элемент с идентификатором 1, чтобы отобразить свойства из файла JSON одного объекта, в данном случае объекта 1, с идентификатором 1.