Использование javascript, я пытаюсь изменить фоновое изображение div-класса при вводе определенных параметров URL. Однако он не переключает изображение в фоновом режиме.Изменение элементов CSS с использованием Javascript
Пример URL:
example.com?campaignid=street
HTML-
<div class="row-background-79134">
<p>Some content here</p>
</div>
Сценарий здесь:
<script>
function getQueryParams(qs) {
qs = qs.split('+').join(' ');
var params = {},
tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]);
}
return params;
}
var query = getQueryParams(document.location.search);
var myCampaign = query.campaignid;
if (myCampaign == "street"){
var elems = document.getElementsByClassName('row-background-79134');
for(var i = 0; i < elems.length; i++) {
elems[i].style.background = 'url(https://example.com/image1.jpg) no-repeat center center;'
}
if (myCampaign == "plumber"){
var elems = document.getElementsByClassName('row-background-79134');
for(var i = 0; i < elems.length; i++) {
elems[i].style.background = 'url(https://example.com/image2.jpg) no-repeat center center;'
}
if (myCampaign == "cowboy"){
var elems = document.getElementsByClassName('row-background-79134');
for(var i = 0; i < elems.length; i++) {
elems[i].style.background = 'url(https://example.com/image3.jpg) no-repeat center center;'
}
if (myCampaign == "hairdresser"){
var elems = document.getElementsByClassName('row-background-79134');
for(var i = 0; i < elems.length; i++) {
elems[i].style.background = 'url(https://example.com/image4.jpg) no-repeat center center;'
}
</script>
Любая помощь на это было бы здорово.
Попробуйте использовать 'backgroundImage' вместо этого, и не назначать' не-повтора центра center' в файле CSS вместо этого (поскольку он никогда не изменяется, нет никакой причины назначать это в js). – junkfoodjunkie
Пожалуйста, переименуйте свои изображения с возможными значениями myCampaign или создайте словарь для соответствий, чтобы подавить все условия. Это позволяет избежать повторения кода. – csblo