问答详情
源自:4-1 编程挑战

哪错了,点完没反应呢?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
<title>javascript</title>
<style type="text/css">
body{font-size:12px;}
#txt{
    height:400px;
    width:600px;
    border:#333 solid 1px;
    padding:5px;}
p{
    line-height:18px;
    text-indent:2em;}
</style>
</head>
<body>
  <h2 id="con">JavaScript课程</H2>
  <div id="txt">
     <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5>
        <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p>
        <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>
        <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>
  </div>
  <form>
  <!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->
    <input id="one" type="button" value="改变颜色" onclick="one()">  
    <input id="two" type="button" value="改变宽高" onclick="two();">
    <input id="three" type="button" value="隐藏内容" onclick="three();">
    <input type="button" value="显示内容" onclick="four();">
    <input type="button" value="取消设置" onclick="five();" >
  </form>
  <script type="text/javascript">
//定义"改变颜色"的函数
    var a = document.getElementById("txt");
   
    var b = document.getElementById("con");
function one(){
    alert(23123);
    a.style.color = "blue";
    a.style.backgroundColor = "red";
}
function two(){
    a.style.width = 600px;
    a.style.height = 300px;
}
function three(){
   
    a.style.display="none";
}
function four(){
    a.style.display="block";
}
//定义"改变宽高"的函数


//定义"隐藏内容"的函数


//定义"显示内容"的函数

function five(){
    var d = confirm("取消");
    if(d==true){
        a.removeAttribute("style");
    }
}
//定义"取消设置"的函数



  </script>
</body>
</html>

提问者:夢碎王子 2016-01-07 21:59

个回答

  • Perona
    2016-01-07 22:12:11
    已采纳

    a.style.width = 600px;
    a.style.height = 300px;

    这2行的属性值缺了引号,加上引号。

    函数名不要乱取,最好有意义,one()是Jquery的方法名,把函数名都换换吧。

  • tingting313
    2016-01-11 14:17:09

      var a = document.getElementById("txt");
       
        var b = document.getElementById("con");

    变量的声明应该放在函数内就可以了,具体的我也了解不是很透彻只是在网上查到JS的作用域属于函数作用域,变量只在函数内有效,它的加载顺序如下:(网上粘贴过来的)

    名字解析顺序

    javascript中一个名字(name)以四种方式进入作用域(scope),其优先级顺序如下:
    1、语言内置:所有的作用域中都有 this 和 arguments 关键字
    2、形式参数:函数的参数在函数作用域中都是有效的
    3、函数声明:形如function foo() {}
    4、变量声明:形如var bar;

    我想原因可能是在这里

  • 风之雪
    2016-01-07 22:08:29

    one()是内置函数,不要使用这个关键词当方法名哦,后面几个也建议修改