2016-04-03 82 views
1

我已经做了一个包含10个问题的测验,并将您的测试点存储在一个名为total的值中。你能够得到的总积分是20,所以当total > 10时,我想要背景变成红色如何更改网站背景

我已经使用CSS设置背景在我的网站在这里:

<style type="text/css"> 
    body{ 
    background-image: url("twins.jpg"); 
} 

但是我似乎无法让我的条件才能正常工作。我已经试过:

if (total > 10) { 
     document.body.style.backgroundColor = "red"; 
    } 

我已经试过:

if (total > 10) { 
     document.body.style.backgroundColor = "#AA0000"; 
    } 

和:

if (total > 10) { 
     document.getElementById('body').style.backgroundImage = "url(ashishot.jpg)"; 
    } 

但似乎没有任何工作。也许我把我的if声明放在错误的地方,或者我试图错误地设置背景,我只想知道这是否是将背景图像从CSS更改为JavaScript的正确方法。

+0

它是否进入你的if循环? – dkengaroo

+0

你的代码是正确的,它只取决于你执行它。就像dkengaroo说的那样,只要你增加总数(在每个问题答案后) – qdev

+0

,你就需要进行测试,无论你在哪里做这个检查,总数值不超过10个。你有多个“total”变量发生冲突。同时请记住,DOM元素可以直接在窗口范围内通过它们的id来引用。因此,如果你有一个元素与'id =“total”'它可能会造成混乱。 – Redu

回答

0

是的,这是使用JS更改背景颜色的正确方法。

document.body.style.backgroundColor = "#AA0000"; 

请尝试:

  • 配售alert() IF块里面,看看块执行
  • 看看是否有被叠加(Z索引)对身体
0

的javascript指令正确

document.body.style.backgroundColor = "red"; 
如果条件

你的错误可能是,检查总的正常工作usign控制台或警报检查:

console.log(total); 

alert(total); 
0

你有一个以上的问题

  1. 直接使用body属性

    document.body.style.backgroundImage 
    
  2. 您需要引用整个任务,你需要内部报价图片

    'url("ashishot.jpg")'; 
    

工作例如:

function setBackground() { 
 
    document.body.style.backgroundImage = 'url("http://lorempixel.com/300/200/")'; 
 
} 
 
setTimeout(setBackground, 2000);
body { 
 
    background-image: url("http://lorempixel.com/400/200/"); 
 
}

0
if (total > 10) { 
    document.body.style.backgroundImage = "url(ashishot.jpg)"; 
} 

body不是一个id。另外,设置background-color将不起作用,因为浏览器首先处理background-image。要显示background-color而不是background-image,只需删除图像即可。设置类更灵活。

document.body.classList.add("total");
body { 
 
    background-image: url("http://www.studiocity-macau.com/uploads/images/SC/Entertainment/Batman/batman_share.jpg"); 
 
} 
 

 
body.total { 
 
    background-image: none; 
 
    background-color: red; 
 
}

0

要知道,你的backgound-image将是你在if块设置颜色的顶部。如果图像完全覆盖背景,则不会注意到更改background color的效果。

document.body.style.backgroundColor = "#AA0000"document.body.style.backgroundColor = "red"都是有效的(尽管"red" == "#FF0000")。

确保在每次增加total时都会运行if语句。