Я почти не знаю jquery вообще. Зная HTML, PHP и CSS, я могу немного это понять и изменить уже существующие скрипты, но теперь я надел кирпичную стену.
Я пытаюсь создать галерею изображений, где вы можете щелкнуть изображение, и он показывает полноэкранный режим в качестве фона. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу заставить фон измениться.
Я попытался изменить фоновое изображение "фона", нажав "changer". Изображение, которое должно было быть новым фоном, - это DSC_2363, который я ввел в функцию.
РЕДАКТИРОВАТЬ: страницу можно просмотреть на странице http://lautamaki.net/omasivu2/
Мой CSS выглядит так:
.background{
background-image: url(images/DSC_1418.JPG);
background-size: cover;
background-color: black;
width: 100%; height: 100%;
position: fixed; top: 0; left: 0;
}
Jquery:
$('.changer').click(function(image){
$('.background').css("background-image", "url(images/".image.".JPG)");
});
И, наконец, HTML:
<div class="background">
</div>
<div class="content">
<img class="changer" src="images/DSC_2363.JPG" width="30" onClick="function(DSC_2363)">
</div>
Я знаю, что уже есть такие вопросы, но никто из них мне не помог. Надеюсь, кто-то получит то, что я пытаюсь и могу мне помочь, спасибо!
EDIT: Изменено
$('.background').css("background-image", "url(images/".image.".JPG)");
в
$('.background').css("background-image", "url(images/"+image+".JPG)");
но все еще не работает.
Вам нужно использовать +
вместо .
объединить строку в Javascript
$('.changer').click(function(image){
$('.background').css("background-image", "url(images/" + image + ".JPG)");
});
попробуй это:
$('.changer').on('click',function(image){
$('.background').css("background-image", "url(images/"+image+".JPG)");
});
В JavaScript мы используем +
для конкатенации не .
$('.changer').click(function (image) {
$('.background').css("background-image", "url(images/" + image + ".JPG)");
// ^ ^
});
Измените свой html add data-image = "DSC_2363"
вместо функции onclick
<div class="content">
<img class="changer" data-image = "DSC_2363" src="images/DSC_2363.JPG" width="30" >
</div>
JS
$('.changer').click(function () {
var image = $(this).data('image'); //get data-image attribute
$('.background').css("background-image", "url(images/" + image + ".JPG)");
});