![](/img/trans.png)
[英]CSS background styles stop working after changing background with JavaScript
[英]changing css background with javascript not working
就像一個抬頭,我是javascript的新手...我正在嘗試執行以下操作:
HTML:有一個<body id="example>
和一個隱藏的計數器<input id="counter" value="1">
和以下javascript(通過函數傳遞1或-1):
function changeBackground(val) {
"use strict";
var n = parseInt(document.getElementById("counter").value, 10) + val;
if (n > 15) {
n = 1;
}
if (n < 1) {
n = 15;
}
document.getElementById("counter").value = n;
var newBgImage = "\"url(\'../exampleFolder/exampleImg" + n + ".jpg\') no-repeat center center fixed\"";
document.getElementById("example").style.background = newBgImage;
}
我似乎無法將背景更改為我從“exampleImg1”指向“exampleImg2”的文件夾中的下一個圖像,依此類推。
我用一個alert(newBgImage)
對此進行了測試,以確保我正確地逃避了我的報價而且我是,或者至少我是這么認為的(另外,這告訴我它在最后一行代碼中出現故障)。
我知道我可以通過更改類名來實現這一點,並在CSS中使用單獨的類,但我的CSS會更加清潔這樣做我測試它只是為了看到它甚至不會更新style.className
。
不知道出了什么問題。
讓我知道這個是否奏效
function changeBackground(val) {
"use strict";
var n = parseInt(document.getElementById("counter").value, 10) + val;
if (n > 15) {
n = 1;
}
if (n < 1) {
n = 15;
}
document.getElementById("counter").value = n;
var newBgImage = "\"url('../exampleFolder/exampleImg" + n + ".jpg') no-repeat center center fixed\"";
document.getElementById("example").style.background = newBgImage;
}
背景應該是一個字符串。 在警報中你得到這樣的東西“url(\\'../ exampleFolder / exampleImg”+ n +“.jpg \\”)無重復中心固定“?
如果是,則樣式屬性將變為:
style="background: "url('../exampleFolder/exampleImg" + n + ".jpg') no-repeat center center fixed""
這不起作用,因為它不是那樣的。
由於這已經是字符串,您需要執行的操作如下所示:
var newBgImage = "url('../exampleFolder/exampleImg" + n + ".jpg') no-repeat center center fixed";
document.getElementById("example").style.background = newBgImage;
這可以解決您的問題。
你實際上是想在那里設置兩個不同的屬性。 一個是背景,另一個是backgroundPosition。 所以你需要把它分成2個。
var newBgImage = "url('../exampleFolder/exampleImg" + n + ".jpg')"
document.getElementById("example").style.background = newBgImage;
document.getElementById("example").style.backgroundPosition = "no-repeat center center fixed"
或者,如果已經在HTML中設置了backgroundPosition,則可以不設置它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.