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

求大神看看 怎么简化代码 感觉每个函数里有confirm 很奇怪


<!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="newColor ()">  

    <input type="button" value="改变宽高" onclick="newWandH ()">

    <input type="button" value="隐藏内容" onclick="newDisplay ()">

    <input type="button" value="显示内容" onclick="newBlock ()">

    <input type="button" value="取消设置" onclick="newSetting ()">

  </form>

  <script type="text/javascript">

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

function newColor (){

var changeColor = confirm("是否修改颜色");

if (changeColor == true){

var h2Color = document.getElementById("con");

h2Color.style.color = "skyblue";


}

}


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

function newWandH (){

var changeWandH = confirm("是否修改正文宽高");

if (changeWandH == true){

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

txtWandH.style.width = "800px";

txtWandH.style.height = "800px";

}

}


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

function newDisplay (){

var changeDisplay = confirm("是否隐藏内容");

if (changeDisplay == true){

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

    pDisplay.style.display="none";

}

}


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

function newBlock (){

var changeBlock = confirm("是否显示内容");

if (changeBlock == true){

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

txtBlock.style.display = "block";


}

}


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

function newSetting (){

var changeSetting = confirm("是否修改颜色");

if (changeSetting == true){

var qSetting = document.getElementById("con");

qSetting.style.color = "black";

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

rSetting.style.width = "600px"

rSetting.style.height = "400px"

rSetting.style.display = "block"

}

}


  </script>

</body>

</html>


提问者:慕雪9542895 2018-12-10 15:55

个回答

  • 沐沐丨老菜鸟
    2018-12-11 02:16:27
    已采纳

    let con=document.getElementById("con");
    let txt=document.getElementById("txt");
     
    function confirmfun(txt,callback){
        if(confirm(txt)){
            callback();
        }
    }

    //定义"改变颜色"的函数
    function changeColor(color="#fff"){
        confirmfun("是否改变颜色",function(){
            txt.style.color=color;
            txt.style.backgroundColor="#000";
        });
    }

    //定义"改变宽高"的函数
    function changeWidth(width="300px",height="200px"){
        confirmfun("是否改变宽高",function(){
            txt.style.width=width;
            txt.style.height=height;
        });
    }

    //定义"隐藏内容"的函数
    function changeHide(){
        confirmfun("是否隐藏内容",function(){
            txt.style.display="none";
        });
    }

    //定义"显示内容"的函数
    function changeShow(){
        confirmfun("是否显示内容",function(){
            txt.style.display="block";
        });
    }

    //定义"取消设置"的函数
    function clearStyle(){
        if(confirm("是否取消所有设置")){
            txt.removeAttribute("style");
        }
    }

  • qq_MEGALOVANIA_0
    2018-12-11 14:35:26

    审题错了