初探JavaScript魅力(2)

函数传参(一个参数,两个参数)

function show(num)
	{
		alert(num);	
	}
	show('abc');
function show(a,b)
	{
		alert(7+8);
	}
	show(7,8);
函数传参例子:点击不同的按钮改变div的颜色
<script>
function setcolor(color)
	{
		var odiv = document.getElementById('div1');
		odiv.style.background= color ;
	}
</script>
<body>
<input type="button" value="变红"  οnclick="setcolor('red')"/>
<input type="button" value="变蓝"  οnclick="setcolor('blue')"/>
<input type="button" value="变绿"  οnclick="setcolor('green')"/>
<div id="div1">
</div>
</body>
例子2(两个传参):点击按钮改变div的宽,高,颜色

<style>
#div1
{
	width:200px;
	height:200px;
	background:gray;
}
</style>
<script>
	function Setstyle(name,value)
	{
		var oDiv = document.getElementById('div1');
		
		oDiv.style[name]=value;
		
		//1.通过style加样式 ,在行间
		//2.通过style取样式 ,在行间
		//样式优先级:*<标签<class<id<行间
	}
</script>
</head>

<body>
<input type="button" value="变宽"  οnclick="Setstyle('width','400px')"/>
<input type="button" value="变高"  οnclick="Setstyle('height','400px')"/>
<input type="button" value="变粉"  οnclick="Setstyle('background','pink')"/>
<div id="div1">
</div>
</body>
第二种操作属性的方法

<script>
function setText()
{
	var oTxt = document.getElementById('txt1');
	
	//第一种操作属性的方法:用 “点”。一般使用第一种
	//oTxt.value='asdasdasdas';
	
	//第二种操作属性的方法;用“[‘’]” 第二种的好处,可以用变量,用参数写进去 
	oTxt['value']='asdasdasda';
	//变量、参数,数值变化,不用加引号  ;字符串是固定的,需要加引号'';
}
</script>

提取事件:window.onload

<script>

//JS代码是一行读完一行执行的,放在这里可能会下面的加载没完成
//window.onload :当页面加载完成后才发生
//行为  样式   结构   三者分离
// JS   CSS    HTML
window.οnlοad=function ()
{
	var odiv = document.getElementById('btn1');
	
	odiv.οnclick=function()
	{
	alert('asdasdas');
	};
} ;
</script>
while循环

<script>
var i=0;            //1.初始化

while(i<5)			//2.条件

{
	alert(i);		//3.语句
	
	i++;			//4.自增
}

</script>
for循环 (一般都用这个)

<script>
for(i=0;i<5;i++)			//for(初始化;条件;自增)
{							//  {
	alert(i);				//		语句;
}							//  }
</script>
获取一组数据:document.getElementsByTagName

(获取所有的div并给所有的div加颜色)

<script>

window.οnlοad=function()
{
   var aDiv= document.getElementsByTagName('div');
   
   //数组一次只能对一个元素进行设置
   //aDiv[0].style.background='red';
   //aDiv[1].style.background='red';
   //aDiv[2].style.background='red';
   //aDiv[3].style.background='red';
   
   //利用长度定义变量i的范围
   for(var i=0;i<aDiv.length;i++)
   {
	aDiv[i].style.background='red';   
	}
};
</script>
复选框全选、不选、反选的实现(循环、数组的综合例子)

<script>
window.οnlοad=function()
{
	var obtn1 = document.getElementById('btn1') ;
	var obtn2 = document.getElementById('btn2') ;
	var obtn3 = document.getElementById('btn3') ;
	var adiv = document.getElementById('div1') ;
	var ach = adiv.getElementsByTagName('input');
	
	//全选点击功能
	obtn1.οnclick=function()
	{
	for(var i=0;i<ach.length;i++)
		{
		ach[i].checked = true;
		}
	}
	
	//不选点击功能
	obtn2.οnclick=function()
	{
	for(var i=0;i<ach.length;i++)
		{
		ach[i].checked = false;
		}
	}
	
	//反选点击功能
	obtn3.οnclick=function()
	{
	for(var i=0;i<ach.length;i++)
		{
		if(ach[i].checked == true)
			{
				ach[i].checked = false;
			}
		else
			{
				ach[i].checked = true;
			}
		}
	}
};

</script>
innerHTML的作用、例子

<script>
window.οnlοad=function()
{
	var otxt = document.getElementById('txt1');
	var obtn = document.getElementById('btn1');
	var odiv = document.getElementById('div1');
	
	obtn.οnclick=function()
	{	
		//innerHTML :里面的HTML ,可以放入/提取,能在里面执行HTML代码
		odiv.innerHTML = otxt.value;
		alert(odiv.innerHTML);
	}
}
</script>
</head>

<body>
<input id="txt1" type="text"  />
<input id="btn1" type="button" value="提取文本"/>
<div id=div1>
</div>
</body>
选项卡的实现:循环、数组、索引值、this的使用、

<style>
#div1 div{width:200px; height:200px; background:pink; display:none;}
#div1 .active{ background:pink;}
</style>
<script>
window.οnlοad=function()
{
	var adiv = document.getElementById('div1');	
	var odiv = adiv.getElementsByTagName('div');
	var obtn = adiv.getElementsByTagName('input');
	for(var i=0;i<obtn.length;i++)
	{	
		//创造一个索引值 ‘index’ 表示当前的序号
		obtn[i].index=i;
		
		obtn[i].οnclick=function()
		{
				for(var i=0;i<obtn.length;i++)
				{
					//把所有的div隐藏
					odiv[i].style.display='none';
					
					//把所有的按钮class命名变成空
					obtn[i].className='';	
				}
				//给当前的div显示
				odiv[this.index].style.display='block';	
				
				//给当前的按钮一个class
				this.className='active';
		};
	}	
	
};
</script>
</head>

<body>

<div id="div1">
	
    <input class="active" type="button" value="选项卡1"  />
	<input type="button" value="选项卡2"  />
	<input type="button" value="选项卡3"  />
	<input type="button" value="选项卡4"  />
	<div style="display:block">111</div>
	<div>222</div>
	<div>333</div>
    <div>444</div>
</div>

</body>
数组的定义

<script>

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

alert(arr[1]);

</script>
JS简易年历(数组的定义和使用,innerHTML的使用,索引,字符串的链接)

<link rel="stylesheet" type="text/css" href="css1.css" />
<script>
window.οnlοad=function()
{
	var oDiv = document.getElementById('tab');
	var aLi = oDiv.getElementsByTagName('li');
	var oTxt = oDiv.getElementsByTagName('div')[0];
	
	//定义text的数组内容
	var arr=['这是一月','这是二月','这是三月','这是四月',
			 '这是五月','这是六月','这是七月','这是八月',
			 '这是九月','这是十月','这是十一月','这是十二月'];
	
	for(var i=0;i<aLi.length;i++)
	{	
		//索引写在功能的上面
		aLi[i].index=i;
		aLi[i].οnmοuseοver=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>
</head>

<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>
</body>

笔记:
~函数传参:参数就是定位符  , 什么时候用---函数里定不下来的时候

~操作属性的第二种方式  [ ‘’]:什么时候用---要修改的属性不固定的时候

~style与className:

1.通过style加样式 ,在行间
2.通过style取样式 ,在行间
样式优先级:*<标签<class<id<行间

之后再修改className不会有效果

~提取事件

为元素添加事件可以用JS添加

行为样式结构三者分离:js css html

~获取一组元素

getElementsByTagName

~循环

用for循环添加事件

什么时候用for循环----一组元素 

例子:全选、不选、反选

~选项卡

按钮的实现:

添加事件,this的使用

先清空所有按钮,再选中当前按钮

内容的实现:

先隐藏所有的DIV,在显示当前的DIV

索引值的使用,什么时候使用----需要知道“第几个”的时候,要在JS添加,html添加会被过滤


~JS简易日历

 类似选项卡,但是只有一个DIV,innerHTML的使用

数组:定义和使用

字符串的连接:注意优先级






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值