问答详情
源自: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 type="button" value="改变颜色" onclick="changecolor()" > 
    <input type="button" value="改变宽高" onclick="changesize()" >
    <input type="button" value="隐藏内容" onclick="hidden()">
    <input type="button" value="显示内容" onclick="xianshi()" >
    <input type="button" value="取消设置" onclick="cancle()" >
  </form>
  <script type="text/javascript">
//定义"改变颜色"的函数
    var mychar=document.getElementById("txt");
    function changecolor(){
        mychar.style.color="red";
        mychar.style.backgroundColor="pink";
    }

//定义"改变宽高"的函数
    function changesize(){
        mychar.style.width=200px;
        mychar.style.height=300px;
    }   

//定义"隐藏内容"的函数
    function hidden(){
        mychar.style.display="none";
    }

//定义"显示内容"的函数
    function xianshi(){
        mychar.style.display="block";
    }

//定义"取消设置"的函数
function cancle(){
    mychar=confirm("是否取消设置?");
    if(mychar==true){
       mychar.style="txt";
    }
    else{
       
    }
}
  </script>
</body>
</html>


提问者:鼬神ss 2019-07-26 14:20

个回答

  • weixin_慕尼黑7316959
    2019-07-31 16:59:28

    首先最明显的返回初始状态的函数写错了。以下代码可以参考一下:

    function cancle(){

     var mymessage= confirm("是否取消设置?");

    if( mymessage == true){

    mychar.removeAttribute("style");

    }

    else{

    return

    }

    }

    然后关于隐藏与显示的问题纯属编程经验少的缘故,在很多语言中,hidden都是关键字,所以你需要换个名字,比如“yincang”,就好了。之后显示也会正常,准确来说显示没错,只是隐藏没用,所以你可能以为显示也错了,但是没有隐藏作对比,显示基本上就代表没效果,你说呢。。。。。。。


  • 举个栗子好吗
    2019-07-31 06:20:42

    是onClick,你的写成了onclick~

  • 天生废材
    2019-07-27 17:44:35

    你把 mychar 改成 txt 就行了

  • 慕神8137879
    2019-07-26 23:06:58

    我也跟你一样的问题,感觉没有错但是就是没反应

    <input type="button" value="改变颜色" onclick="change.changeColor()">  

        <input type="button" value="改变宽高" onclick="change.changeHeight()">

        <input type="button" value="隐藏内容" onclick="change.hide()">

        <input type="button" value="显示内容" onclick="change.show()">

        <input type="button" value="取消设置" onclick="change.cancleSet()">

      </form>

      <script type="text/javascript">

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

      var change={

    //定义"改变颜色"的函数

    changeColor:function(){

        a.style.color = "red";

        a.style.backgroundColor = "gray";

    }


    //定义"改变宽高"的函数

    changeHeight:function(){

        a.style.height = "500px";

        a.style.width = "700px";

    },


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

    hide:function(){

    a.style.display = "none";

    },

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

    show:function(){

    a.style.display = "block";

    }, \

    //定义"取消设置"的函数

       cancleSet:function(){

    var ab=confirm("是否取消设置?");

    if(ab==true){

     a.removeAttribute("style");

    }

    }

    }


  • qq_Perpetual沃_0
    2019-07-26 15:48:19

    function changesize(){
            mychar.style.width=200px;//改为mychar.style.width="200px"; 

            mychar.style.height=300px;// 改为mychar.style.height="300px";

        }