2017-02-18 134 views
-3
<script> 
var a = false; 
function toggleBold(){ 
    a = !a; 
    if(a){ 
     document.getElementById("entertext").style.fontWeight=700; 
    } 
    else{ 
     document.getElementById("entertext").style.fontWeight=200; 
    } 
} 

var b = false; 
function toggleitalic(){ 
    b = !b; 
    if(b){ 
     document.getElementById("entertext").style.fontStyle="italic"; 
    } 
    else { 
     document.getElementById("entertext").style.fontStyle="normal"; 
    } 
} 

var c = false; 
function toggleline() { 
    c =!c; 
    if(c){    
     document.getElementById("entertext").style.textDecoration="underline"; 
    } 
    else { 
     document.getElementById("entertext").style.textDecoration="none"; 
    } 
} 


var r = false; 
function togglered() { 
    console.log("clicked"); 
    r=!r; 
    if(r){ 
     document.getElementById("entertext").style.color="red"; 
    } 
    else{ 
     document.getElementById("entertext").style.color="black"; 
    } 
} 

var b = false; 
function toggleblue() { 
    console.log("clicked"); 

    b=!b; 
    if(b){ 
     document.getElementById("entertext").style.color="blue"; 
    } 
    else{ 
     document.getElementById("entertext").style.color="black"; 
    } 
} 

var g = false; 
function togglegreen() { 
    g=!g; 
    if(g){ 
     document.getElementById("entertext").style.color="green"; 
    } 
    else{ 
     document.getElementById("entertext").style.color="black"; 
    } 
} 

var imp = false; 
function togglefontA(){ 
    imp = !imp; 
    if(imp){ 
     document.getElementById("entertext").style.fontFamily= "Impact,Charcoal,sans-serif"; 
    } 
} 


var tim = false; 
function togglebfontB(){ 
    tim=!tim; 
    if(tim){ 
     document.getElementById("entertext").style.fontFamily = "Times New Roman, Times, serif"; 
    } 
} 

var age = false; 
function togglefontC(){ 
    age=!age; 
    if(age){ 
     document.getElementById("entertext").style.fontFamily = "Agency FB, verdana, helvetica, sans-serif"; 
    } 
} 

var nor = false; 
function togglefontD(){ 
    nor=!nor; 
    if(nor){ 
     document.getElementById("entertext").style.fontFamily = "Arial, Helvetica, sans-serif"; 
    } 
} 


function rgb(){ 
    if(check()){ 
     document.getElementById("entertext").style.backgroundColor = 
      "rgb("+document.getElementById("red").value+"," 
      + document.getElementById("green").value+"," 
      + document.getElementById("blue").value+")"; 
    } 
    else{ 
     document.getElementById("entertext").style.backgroundColor = "white"; 
    } 
} 

function check(){ 
    var red= document.getElementById("red").value; 
    var green= document.getElementById("green").value; 
    var blue= document.getElementById("blue").value; 
    return red <= 255 && red >= 0 && green <= 255 && green >= 0 && blue <= 255 && blue >= 0; 
} 

    </script> 

因此,我的问题是,这段代码在我的个人笔记本电脑上的Internet Explorer上工作,但不是在Chrome上。在我的uni电脑上,代码在Chrome或Internet Explorer上完全不起作用。我试图通过代码寻找错位的括号,但没有能够找到问题。这发生在之前,问题是一个错位或丢失括号。如果有人可以通过这段代码并告诉我什么是错的或失踪?我有这个代码,但我不知道为什么它不会工作有人可以告诉我吗?

+1

很难通过查看代码来判断一个代码*有什么不对,我建议您在打开浏览器的开发者控制台并查找错误时,这些通常非常有用,并且可以帮助您自己解决问题,或者如果无法帮助他人查看代码中的问题并帮助您更轻松。 – Frxstrem

+2

如果您a)使用突出显示右括号/括号(即Sublime Text)的文本编辑器,以及b)如果您正确缩进,则您会更容易发现缺少的括号。 – JakeParis

+1

你甚至没有说过问题是什么。你需要调试它。 – Carcigenicate

回答

0

本身并不完全是答案,但是这里有一些建议的改进,它限制了代码的重复位数,并且没有任何全局变量。

/* This only operates on the element with id="entertext". 
* You could easily rewrite the function to pass in an element to 
* operate on. If no 3rd parameter is passed, it won't do anything if the 
* style is not equal to the first. 
*/ 
function toggleStyle(property,ifTrueValue,ifFalseValue){ 
    var el = document.getElementById('entertext'); 
    if(el.style[property] !== ifTrueValue) 
     el.style[property] = ifTrueValue; 
    else if (typeof ifFalseValue !== 'undefined') 
     el.style[property] = ifFalseValue; 
    } 
} 

function toggleBold(){ 
    toggleStyle('fontWeight',700,200); 
} 

function toggleitalic(){ 
    toggleStyle('fontStyle','italic','normal'); 
} 

function toggleline() { 
    toggleStyle('textDecoration','underline','none'); 
} 

function togglered() { 
    toggleStyle('color','red','black'); 
} 

function toggleblue() { 
    toggleStyle('color','blue','black'); 
} 

function togglegreen() { 
    toggleStyle('color','green','black'); 
} 

function togglefontA(){ 
    toggleStyle('fontFamily',"Impact,Charcoal,sans-serif") 
} 


function togglebfontB(){ 
    toggleStyle('fontFamily',"Times New Roman, Times, serif"); 
} 

function togglefontC(){ 
    toggleStyle('fontFamily',"Agency FB, verdana, helvetica, sans-serif"; 
} 

function togglefontD(){ 
    toggleStyle('fontFamily',"Arial, Helvetica, sans-serif"); 
} 


function rgb(){ 
    var rgb = getRGB() 
     color; 

    if(rgb == false) 
     color = 'white'; 
    else 
     color = "rgb("+rgb.red+","+rgb.green+","+rgb.blue+")"; 
    toggleStyle('backgroundColor', color); 
} 


function getRGB(){ 
    var red= document.getElementById("red").value; 
    var green= document.getElementById("green").value; 
    var blue= document.getElementById("blue").value; 
    if(red <= 255 && red >= 0 && green <= 255 && green >= 0 && blue <= 255 && blue >= 0) { 
     return { 
      'red': red, 
      'green': green, 
      'blue': blue 
     } 
    } else 
     return false; 
} 
相关问题