欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历

程序员文章站 2024-02-26 19:44:46
...

函数传参

改变背景颜色
什么时候传参—函数里有定不下来的东西

<style>
        #div1{
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
   <script>
 function setColor(color){
            var oDiv=document.getElementById('div1');
            oDiv.style.backgroundColor=color;

        }
        </script>
         <input type="button" value="变绿" onclick="setColor('green');">
    <input type="button" value="变黄" onclick="setColor('yellow');">
    <input type="button" value="变黑" onclick="setColor('black');">
    <div id="div1"></div>

Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历
改变div样式
操作属性的第二种方式
使用:当修改的属性不确定的时候
字符串和变量
变量可以任意改变
字符串不可修改
字面量:看到的东西,自然知道是什么 例如:12、‘abc’
变量:var a=?

function setText(){
            var oTxt=document.getElementById('txt1');
            //第一中操作属性的方法
            //oTxt.value='vgsdvss';
            //第二种操作属性方法
            oTxt['value']='vgsdvss';
            //两种方法的效果一样
            
            var a='value'
             oTxt[a]='vgsdvss';
             //效果一样可以实现
        }
        <input id="txt1" type="text">
    <input type="button" value="变化" onclick="setText()">

像第二种:
oTxt[‘value’]=‘vgsdvss’; 中的’vlaue’可变

<style>
        #div1{
            width: 200px;
            height: 200px;
            background: red;
        }
    </style>
    <script>
    function change(name,value){
            var oDiv=document.getElementById('div1');
            oDiv.style[name]=value; //oDiv.style.name=value; 不可用无法实现功能
        }
    </script>
    <input type="button" value="变宽" onclick="change('width','400px')">
    <input type="button" value="变高" onclick="change('height','400px')">
    <input type="button" value="变绿" onclick="change('background','green')">
    <div id="div1"></div>

效果Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历
Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历
style与className
style加样式 行间
style取样式 行间
元素.style.属性=xxx 是修改行间样式
之后在修改className不会有效果 原因:优先级问题 参考css

提取行间事件

1.function 名字(){。。。}
obtn.οnclick=名字
2.obtn.οnclick=function (){。。。} 匿名函数
两者功能相同 第二个当程序过多时起名较难可以使用
提取事件
事件可以用js添加
行为 样式 结构三者分离

script>
        window.onload=function(){  //如果没有将不能实现
        var oBtn=document.getElementById('btn1');
        oBtn.onclick=function(){
            alert('a');
        }
    }
    </script>
     <input id="btn1" type="button" value="按钮">

获取一组元素
数组:

<style>
        div{
            width: 200px;
            height: 200px;
            float: left;
            border: 1px solid black;
            margin: 10px;
        }
    </style>
    <script>
        window.onload=function(){
            var aDiv=document.**getElementsByTagName**('div');
            alert(aDiv.length);
            aDiv[0].style.background='red';
            // aDiv[1].style.background='red';
            // aDiv[2].style.background='red';
            // aDiv[3].style.background='red';
        }
    </script>
<div></div>
    <div></div>
    <div></div>
    <div></div>

Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历
Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历

循环

while 循环

<script>
        var i=0;      //1.初始化
        while(i<5){   //2.条件
            alert(i); **//3.语句**
            i=i+1; /i++//4.自增
        }
    </script>

for循环

 for(var i= 0;i<5;i++){
            alert(i);
        }

当个数不确定时

for(var i=0;i<aDiv.length;i++){  //aDiv.length  div的个数
            aDiv[i].style.background='red';
            }
 <script>
        window.onload=function(){
            var oBtn1 =document.getElementById('btn1');
            var oBtn2 =document.getElementById('btn2');
            var oBtn3 =document.getElementById('btn3');
            var oDiv=document.getElementById('div1');
            var aCh=oDiv.getElementsByTagName('input');
            oBtn1.onclick=function(){  //全选
                //aCh[0].checked=true;
                for(var i =0;i<aCh.length;i++){
                    aCh[i].checked=true;
                }
            };
            oBtn2.onclick=function(){  //不选
                //aCh[0].checked=true;
                for(var i =0;i<aCh.length;i++){
                    aCh[i].checked=false;
                }
            };
            oBtn3.onclick=function(){  //反选
                //aCh[0].checked=true;
                for(var i =0;i<aCh.length;i++){
                    if(aCh[i].checked==true){
                        aCh[i].checked=false;
                    }
                    else{
                        aCh[i].checked=true;
                    }
                }
            };

        }
    </script>
    <input id="btn1" type="button" value="全选">
    <input id="btn2" type="button" value="不选">
    <input id="btn3" type="button" value="反选">
    <div id="div1">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
        <input type="checkbox" name="" id="">
    </div>

Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历

选项卡

这是选项卡
Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历
this:当前发生事件元素

 <style>
        #div1 .active{
            background: yellow;
            }
        #div1 div{
            width: 200px;
            height: 200px;
            background: gray;
            border: 1px solid black;
            display: none;
        }
    </style>
    <script>
        window.onload=function(){
            var oDiv=document.getElementById('div1');
            var aBtn=oDiv.getElementsByTagName('input');
            var aDiv=oDiv.getElementsByTagName('div');
            for(var i=0;i<aBtn.length;i++){
                aBtn[i].index=i;
                aBtn[i].onclick=function(){
                    //alert(this.value)
                    for(var i=0;i<aBtn.length;i++){
                        aBtn[i].className='';
                        aDiv[i].style.display='none';
                    }
                    this.className='active';
                    aDiv[this.index].style.display='block'
                };
            }
        }
    </script>
    <div id="div1">
        <input class="active" type="button" value="教育" >
        <input type="button" value="培训">
        <input type="button" value="招生">
        <input type="button" value="出国">
        <div style="display: block;">111</div>
        <div>222</div>
        <div>333</div>
        <div>444</div>
    </div>

Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历
Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历

js简易日历

innerHTML

<style>
        #div1{
            width: 200px;
            height: 150px;
            border: 1px solid black;
        }
    </style>
    <script>
        window.onload=function(){
            var oTxt=document.getElementById('txt1');
            var oBtn=document.getElementById('btn1');
            var oDiv=document.getElementById('div1');

            oBtn.onclick=function(){
                oDiv.innerHTML= oTxt.value;
            }
        }
    </script>
<body>
    <input id="txt1" type="text">
    <input id="btn1" type="button" value="设置文本">
    <div id="div1"></div>
</body>

Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历
点击设置文本后
Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历

数组 var arr=[1,2,3,4];

<style>
        li{
            float: left;
            margin-left: 15px;
            border: 1px solid black;
            background-color: aqua;
            list-style: none;
        }
    </style>
    <script>
        window.onload=function(){
            var arr=[
                '1111',
                '22222',
                '3333'
            ];
            var oDiv=document.getElementById('tab');
            var aLi=oDiv.getElementsByTagName('li');
            var oTxt=oDiv.getElementsByTagName('div')[0];

            for(var i=0;i<aLi.length;i++){
                aLi[i].index=i;
                aLi[i].onmousemove=function(){
                    for(var i=0;i<aLi.length;i++){
                        aLi[i].className='';
                    }
                    this.className='active';
                    oTxt.innerHTML='<h2>'+(this.index+1)+'月活动</h2><p>'+arr[this.index]+'</p>';
                };
            }
        };
    </script>
<body>
    <div id="tab" class="calendar">
        <ul>
            <li class="active"><h2>1</h2><p>JAN</p></li>
            <li><h2>2</h2><p>FER</p></li>
            <li><h2>3</h2><p>MAR</p></li>
            <li><h2>4</h2><p>APR</p></li>
            <li><h2>5</h2><p>MAY</p></li>
            <li><h2>6</h2><p>JUN</p></li>
            <li><h2>7</h2><p>JUL</p></li>
            <li><h2>8</h2><p>AUG</p></li>
            <li><h2>9</h2><p>SEP</p></li>
            <li><h2>10</h2><p>OCT</p></li>
            <li><h2>11</h2><p>NOV</p></li>
            <li><h2>12</h2><p>DEC</p></li>
        </ul>
        <div class="text">
            <h2>1月活动</h2>
            <p>快回去</p>
        </div>
    </div>

大概效果
Java Script--函数传参--提取行间事件--循环--选项卡-- js简易日历

相关标签: jsxuexi js