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

按钮没反应,求大佬帮忙看看是哪里出了问题

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

    <input type="button" value="改变宽高" onClick="changeWidHei()">

    <input type="button" value="隐藏内容"  onClick="hide()">

    <input type="button" value="显示内容"  onClick="display()">

    <input type="button" value="取消设置" onClick="cancel()">

  </form>

  <script type="text/javascript">

    function changeColor() {

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

        cont.style.color="red";

        cont.style.backgroundColor="#ccc";

    }

   function changeWidHei() {

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

        cont.style.width="100px";

        cont.style.height="100px";

    }

    function hide() {

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

        cont.style.display="none";

    }

    function display() {

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

        con.style.display="block";

    }

  function.style.cancel() {

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

        var can=confirm("是否取消?");

        if (can == true) {

            cont.style="";

            mychar.className="txt";

        }

        else {

            alert("bb");

        }

    }


提问者:慕莱坞3298394 2018-06-14 11:56

个回答

  • 猫儿当自强
    2018-06-15 10:18:18

    兄弟,你这错有点多啊

    1. 你除了第一个onclick是对的,后面的C都大写了。

    2. 你display里面的方法,cont写成了con。

    3. 你的取消函数写的太复杂了,代码如下,直接设置cont.style的属性等于上面设置的样式就可以了(设置了样式的情况下)。

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

        function close1(){

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

        if(message==true){

            cont.style="txt"

        }

        }

       4.或者用

        function qx(){  var mychar=document.getElementById("txt");

                        var qd=confirm("是否要取消");

                        if(qd=true){ mychar.removeAttribute("style");;}

                        else{alert("不改变");}

                        }

    mychar.removeAttribute("style");取消样式的方法。

    建议你的var mychar=document.getElementById("txt");可以放在函数外面声明成全局变量,就不用每个函数都重新声明了,每个函数都可以直接调用 就像我上面第一个写的那个方法一样。

  • qq_等待_89
    2018-06-14 21:09:47

    https://img4.mukewang.com/5b2268ee0001c3e403520129.jpg

    这个函数定义方式错了,把style去掉就行了

  • 枫芒i
    2018-06-14 14:29:11

    最下面多了一个花括号,我开始也忘了删,找bug找了半天。

    另外,你取消设置代码这样写貌似不行吧。这里面没讲,我看了下示例代码,要用removeAttribute()方法。

    代码:

    function offset(){           //命名注意,不能用有特殊意义的字符(比如reset就执行不了)
       var a=confirm("是否要取消设置?");
       if (a==true) {
       txt.removeAttribute("style");  //removeAttribute() 方法删除指定的属性
       }
      }