То, как вы хранили отображения, было не очень гибким.Я сохранил их как объект.
Если вы назвали их bg
, bg2
и т. Д. И не охватили их, вам нужно было бы получить к ним доступ как window['bg' + i]
, что беспорядочно.
var bg = {
'bg': 'background.jpg',
'bg1': 'background1.jpg',
'bg2': 'background2.jpg'
};
$('#backgrounds').change(function() {
var background = $(this).find('option:selected').text();
if ( ! background in bg) {
return;
}
$('#changemybg').css({
'backgroundImage': 'url(' + bg[background] + ')'
});
});
jsFiddle .
Кроме того, вы можете сохранить имя файла в атрибуте value
каждого элемента option
и просто присвоить backgroundImage
$(this).val()
.
Также вы пытаетесь установить стили внутри элемента script
.Это не сработает;то, что вы хотите, это style
элемент.