【JS】21--案例一

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <button onclick="changeInp(-1)">-</button>
        <input type="text" id="inp">
        <button onclick="changeInp(1)">+</button>
        <script>
            function changeInp(num){
                var inp = document.getElementById("inp");
                inp.value = inp.value*1+num;
            }
        </script>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
         <input type="text" name="season" class="inp" value="春">
         <input type="text" name="season" class="inp" value="夏">
         <input type="text" name="season" class="inp" value="秋">
         <input type="text" name="season" class="inp" value="冬"> <br>
         <input type="button" value="显示input的值" onclick="getInput()">
         <input type="button" value="显示season的值" onclick="getSeason()">
         <div id="box">          
         </div>
         <script>
             function getSeason(){
                 // var seasons = document.getElementsByName("season");
                  // var seasons = document.getElementsByClassName("inp");
                  var seasons = document.querySelectorAll("body input.inp");
                 var str = "";
                 for(var i=0;i<seasons.length;i++){
                     str +=seasons[i].value+"<br/>";
                 }
                 var box = document.getElementById("box");
                 box.innerHTML = str;
             }
             function getInput(){
                 var inps = document.getElementsByTagName("input");
                 //  通过标签来获取dom内容
                                 
                 // 循环初始 0  循环结束 inps.length
                 // 循环操作 或是inps[i].value
                 ///放入到box
                 var str = "";
                 // 把所有inps里面的value值存入 str字符串
                 for(var i=0;i<inps.length;i++){
                     var val = inps[i].value;
                     str += val+"<br/>"
                 }
                 
                 var box = document.getElementById("box");
                 // 获取box
                 box.innerHTML = str;
                 // 设置box里面的html内容为 str;
             }
         </script>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>this</title>
    </head>
    <body>
         <div id="tag">我是一行<b>可爱</b>的内容</div>
         <input type="text" id="inp" value="我是个坑">
        <script>
         var tag = document.getElementById("tag");
         var text = tag.innerHTML;
         // var text = tag.innerText;
         alert(text);
         // tag.innerHTML = "马上发年终红包!";
         tag.innerText =  "马上发<b>年终</b>红包!";
        </script>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>input</title>
    </head>
    <body>
         
         <input type="text" id="inp" value="我是个坑">
        <script>
         var inp = document.getElementById("inp");
         alert(inp.value);
         inp.value = "你是我的眼!";
        </script>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>input</title>
    </head>
    <body style="font-size: 16px;">
        <button onclick="changeSize(22)">大</button> 
        <button onclick="changeSize(16)">中</button> 
        <button onclick="changeSize(12)">小</button>
         <p>滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。青山依旧在,几度夕阳红。
白发渔樵江渚上,惯看秋月春风。一壶浊酒喜相逢。古今多少事,都付笑谈中</p>
        <script>
            function changeSize(num){
                document.body.style.fontSize=num+"px";
            }
        </script> 
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>input</title>
        <style>
            span{ padding: 5px; border:1px solid gray;}
            span.active{
                border-color:red;
                color:red;
            }
        </style>
    </head>
    <body >
        <span class="active" onclick="changeIt(this)">title1</span>
        <span  onclick="changeIt(this)">title2</span>
        <span  onclick="changeIt(this)">title3</span>
        <script type="text/javascript">
            function changeIt(el){
                // el.classList.toggle("active");
                // 之前的 active 要去掉active
                //  el 添加active
                var old = document.querySelector("span.active");
                // 获取到之前有active的span元素
                old.classList.remove("active");
                // 删除掉该元素的 activeclass
                el.classList.add("active");
                // 当前元素添加 active class
            }
        </script>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>input</title>
        <style>
            span{ padding: 5px; border:1px solid gray;}
            span.active{
                border-color:red;
                color:red;
            }
            .tabs .content{ 
                display: none; 
                width: 300px; 
                height: 300px; 
                border:1px solid gray;
                margin-top: 6px;                
            }
            .tabs .on{display: block;}
        </style>
    </head>
    <body >
        <div class="tabs on">   
            <span class="active title">title1</span>
            <span class="title">title2</span>
            <span class="title">title3</span>
            <div class="content on">content内容1</div>
            <div class="content">content内容2</div>
            <div class="content">content内容3</div>
        </div>
        <script>
            //  单击span 要知道是第几个span
            //  让之前用on的content 去掉class  on
            //  让第几个content 添加on
            var titles = document.querySelectorAll(".tabs .title");
            var contents =  document.querySelectorAll(".tabs .content");
            // for 初始条件0  结束 titles.length
            // 操作 让之前用on的content 去掉class  on
            // 让第i个content 添加on
            for(let i=0;i<titles.length;i++){
                titles[i].onclick =function(){
                    console.log(i);
                    var old = document.querySelector(".tabs .content.on");
                    // 找到之前有on的content
                    old.classList.remove("on");
                    // 去掉on
                    contents[i].classList.add("on");
                    // 给和当前点击title下标一样的content 添加 on                    
                    var oldt = document.querySelector(".tabs .title.active");
                    oldt.classList.remove("active");
                    titles[i].classList.add("active");
                    
                }
            }
            
        </script>
    </body>
</html>

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>选项卡</title>
    <style>
        .tabs .title{
             display: inline-block;
             height: 48px;
             padding: 0 15px;
             line-height: 48px;
            border:1px solid gray;
        }
        .tabs  .contents{
            position: relative;
            width: 300px;
            height: 300px;
        }
        .tabs  .content{
            width: 300px;
            height: 300px;
            border:1px solid gray;
            position: absolute;
            /* display: none; */
            opacity: 0;
        }
        @keyframes fadeIn{
            from{opacity: 0;  transform:translate(300px,0);}
            to{ opacity: 1; transform:translate(0,0);}
        }
        @keyframes fadeOut{
            from{opacity:1; transform:translate(0,0);}
            to{ opacity: 0; transform:translate(-300px,0);}
        }
        
        .tabs .on{
            display: block;
            opacity: 1;
            animation: fadeIn 0.4s ease;
        }
        .tabs .off{
            animation: fadeOut 0.4s ease;
        }
        .tabs .active{
            color:red;
            border-color:red;
        }
    </style>
</head>
<body>
    <div class="tabs">
        <div class="titles">
            <span class="title active">title1</span>
            <span class="title">title2</span>
            <span class="title">title3</span>
        </div>
        <div class="contents">
            <div class="content on">内容1</div>
            <div class="content">内容2</div>
            <div class="content">内容3</div>
        </div>
    </div>
    <script>
        // 单击第几个title就应该让第几个content显示  添加class on
        // 以前显示的应该隐藏 删除class on
        //  每一个都需要添加单击事件  for
        var titles = document.querySelectorAll(".tabs .title");
        // 选择所有的title
        var contents = document.querySelectorAll(".tabs .content");
        for(let i=0; i<titles.length;i++){
            titles[i].onclick=function(){
                console.log("当前是第",i,"个title");
                var old =  document.querySelector(".tabs .on");
                // 找到以前有on的content元素
                old.classList.remove("on");
                old.classList.add("off");
                setTimeout(function(){old.classList.remove("off");},400)
                //  删除on class
                contents[i].classList.add("on");
                //  给当前对应的content 添加 on class
                
                var oldt = document.querySelector(".tabs .active");
                oldt.classList.remove("active");
                titles[i].classList.add("active");
            }
        }
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>选项卡</title>
    <style>
        .tabs .title{
             display: inline-block;
             height: 48px;
             padding: 0 15px;
             line-height: 48px;
            border:1px solid gray;
        }
        .tabs  .contents{
            position: relative;
            width: 300px;
            height: 300px;
        }
        .tabs  .content{
            width: 300px;
            height: 300px;
            border:1px solid gray;
            position: absolute;
            /* display: none; */
            opacity: 0;
        }
        @keyframes fadeIn{
            from{opacity: 0;  transform:translate(300px,0);}
            to{ opacity: 1; transform:translate(0,0);}
        }
        @keyframes fadeOut{
            from{opacity:1; transform:translate(0,0);}
            to{ opacity: 0; transform:translate(-300px,0);}
        }
        
        .tabs .on{
            display: block;
            opacity: 1;
            animation: fadeIn 0.4s ease;
        }
        .tabs .off{
            animation: fadeOut 0.4s ease;
        }
        .tabs .active{
            color:red;
            border-color:red;
        }
    </style>
</head>
<body>
    <div class="tabs">
        <div class="titles">
            <span class="title active">title1</span>
            <span class="title">title2</span>
            <span class="title">title3</span>
        </div>
        <div class="contents">
            <div class="content on">内容1</div>
            <div class="content">内容2</div>
            <div class="content">内容3</div>
        </div>
    </div>
    <script>
        // 单击第几个title就应该让第几个content显示  添加class on
        // 以前显示的应该隐藏 删除class on
        //  每一个都需要添加单击事件  for
        var titles = document.querySelectorAll(".tabs .title");
        // 选择所有的title
        var contents = document.querySelectorAll(".tabs .content");
        for(let i=0; i<titles.length;i++){
            titles[i].onclick=function(){
                console.log("当前是第",i,"个title");
                var old =  document.querySelector(".tabs .on");
                // 找到以前有on的content元素
                old.classList.remove("on");
                old.classList.add("off");
                setTimeout(function(){old.classList.remove("off");},400)
                //  删除on class
                contents[i].classList.add("on");
                //  给当前对应的content 添加 on class
                
                var oldt = document.querySelector(".tabs .active");
                oldt.classList.remove("active");
                titles[i].classList.add("active");
            }
        }
    </script>
</body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <input type="checkbox" id="all"> 全选 <br>
        <input type="checkbox" name="sub" onchange="changeIt()">
        <input type="checkbox" name="sub" onchange="changeIt()">
        <input type="checkbox" name="sub" onchange="changeIt()">
        <input type="checkbox" name="sub" onchange="changeIt()">
        <script>
            var all = document.getElementById("all");
            // 选择all input
            var subs = document.getElementsByName("sub");
            //  选择所有的子选框
            // subs单击 for 0 subs.length; 如果只要有一个为sub值为false 那么all的值就为false
            //  sub 全部都为true那么all才为true
            // 每个sub change时候都会 执行changeIt函数
            function changeIt(){
                var val = true;  // val的默认值为true  (all的checked)
                for(var i=0;i<subs.length;i++){
                    var sel = subs[i].checked;
                    // 获取到每个子元素的checked值
                    //  如果值为false
                    if(sel==false){
                        val = sel; // 重新赋值false给val
                        break; //终止循环
                    }
                }
                all.checked = val;
                // 循环结束的时候我们设置all的checked值
            }
            //  当all发生改变时候 执行 匿名函数
            all.onchange=function(){
                var val = all.checked;
                // 获取到all的值
                console.log(val);
                for(var i=0;i<subs.length;i++){
                    subs[i].checked = val;
                    //  让每一个子选择框的checked值都和all的checked值保持一致
                }
            }
        </script>
    </body>
</html>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357