JS里的DOM在网页中的实际操作

Posted 左剃头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS里的DOM在网页中的实际操作相关的知识,希望对你有一定的参考价值。

 

<style type="text/css">
	/*大图轮播*/
			*{
				margin:0px auto;
				padding:0px;
				}
			#wai{
				width:500px;
				height:350px;
			    }
			.tu{
				width:500px;
				height:350px;
				display:none;
				}
			.k{
				width:60px;
				height:5px;
				float:left;
				background-color:#FC0;	     这里用到了相对定位,如果在图片这个大div的下面插入一个四个框的
				margin-left:10px;		     div,默认的是在这个图片的下方,用top时是距离上面图片的距离,用
				position:relative;		     负值的话就移到图片里面去了。
				top:-30px;
				
				}
				
				
				
				
				#dian{
					width:300px;
					height:5px;
					}

</style>

<body>
<div id="wai">
        		<img  class="tu" src="../../Pictures/壁纸.jpg" style="display:block;"/>
                <img   class="tu" src="../../Pictures/汉奸.jpg"/>
                <img class="tu" src="../../Pictures/星空.jpg" />
                <img class="tu" src="../../Pictures/淄博.jpg"/>
        </div>
        	<div id="dian">
            		<div class="k" style="background-color:#00F;" onclick="Dian(\'0\')"></div>
                    <div class="k" onclick="Dian(\'1\')"></div>
                    <div class="k" onclick="Dian(\'2\')"></div>
                    <div class="k" onclick="Dian(\'3\')"></div>
            
            </div>-->

</body>

<script type="text/javascript">
		var sy = 0; /* 定了一个索引值的变量*/
		window.setInterval("Lun()",3000); /*间隔是三秒出来一次图片*/
		function Lun()  /*赋这个函数,是让图片来轮播*/
		{ 	
			
			var tu = document.getElementsByClassName("tu");
			sy++;  // sy加1
			
			if(sy>=tu.length) //当sy那个索引值大于等于图片的总长度时,图片轮回到第一张图片
			{ 
				sy = 0;
			}
			//让图片循环显示,循环隐藏
			for( var i=0;i<tu.length;i++)
			{ 
				tu[i].style.display = "none";
			}
			
			tu[sy].style.display = "block";
			
			//框随着图片的轮播,变成蓝色。
			var k = document.getElementsByClassName("k");
			for( var j=0;j<k.length;j++)
			{ 
				k[j].style.backgroundColor = "#FC0";
			}
			k[sy].style.backgroundColor = "#00F";
		}
		//点哪个框,变蓝色,而且换成哪个图片
		function Dian(a)
		{ 	
			sy = a;     //a是形参,连着点击框,框里索引着图片
			var tu = document.getElementsByClassName("tu");
			for( var i=0;i<tu.length;i++)
			{ 
				tu[i].style.display = "none";   // 图片循环显示,循环隐藏
			}
			
			tu[a].style.display = "block";
			var k = document.getElementsByClassName("k");   //框里的颜色循环变颜色
			for( var j=0;j<k.length;j++)
			{ 
				k[j].style.backgroundColor = "#FC0";
			}
			k[a].style.backgroundColor = "#00F";
		
		}
		

</script>

 

 大图轮播:

出现如下图所示的效果:

嵌了四张图,有四张图,图片自动轮播,播到第几个图片,第几个框变成了蓝色,点第几个框,变蓝色,显示第几张图片。

 

总结:思路是,1.插入四张图片的话,先建一个大div,里面直接嵌入图片,div定好宽与高,只让第一张图片显示,其他隐藏。

       2.把四个图片看成一个数组,给一个索引值sy,定一个变量。

       3.赋两个函数,一个是让它轮播,一个是让其点击框,变色,显示出哪个图片;

 

点击事件要定一个形参

 

下拉列表选择项:

 

        要实现的效果:点击一项,出来下面几项,选择哪一项,哪一项跳到最上面的位置上。

 

<style type="text/css">

#cai{
					width:100px;
					height:50px;
					border:1px solid #F00;
					text-align:center;
					vertical-align:middle;
					line-height:50px;
					}
				.m{
					width:100px;
					height:50px;
					border:1px solid #F00;
					text-align:center;
					vertical-align:middle;
					line-height:50px;
					border-top-width:0px; /*去重合线*/
					display:none;
					}	


</style>


<body>

 <div id="wai" style="width:100px; height:100px; margin-top:10px;" >
            	
                <div id="cai"  onclick="Xian()">淄博</div>
                <div class="m" onclick="Xuan(this)">张店</div>
                <div class="m" onclick="Xuan(this)">周村</div>
                <div class="m" onclick="Xuan(this)">临淄</div>
            <!--在一个大的div嵌入四个小div,其中淄博是作为一个选择参考,要想实现的效果是这样的,点击淄博,出来下面的选项,点击张店,张店来到了淄博的位置。此时可以先添加一个淄博的点击事件,给其他的选项一个点击事件
            ,分为两个函数。下面的选项添加隐藏属性。Xuan里面的this是指的是本身,点击自己。-->
            
            </div>

</body>


<script type="text/javascript">


function Xian()  /*给淄博的点击事件*/
			{ 
				var m = document.getElementsByClassName("m");   //取出class名的值为m的,让其循环显示。
				for(var i=0;i<m.length;i++)
				{ 
					m[i].style.display = "block";
				}
				
			}
			function 	Xuan(a)      /*给下面的选项的点击事件,*/
			{ 
				var cai = document.getElementById("cai");
				
				cai.innerhtml=a.innerHTML;      /*以前淄博位置的内容成为了选择项的内容。*/
				var m = document.getElementsByClassName("m");   /*这一步是让其选择完选项之后其他的选项隐藏*/
				for(var i=0;i<m.length;i++)
				{ 
					m[i].style.display = "none";
				}
				
			}

</script>

 

 

获取时间: 

 

出现如下图所示的效果:

<style type="text/css">

#time{width:400px; 
						height:20px;
						}

</style>


<body>

 <div  id="time" >
                   
                   </div>
                    
                    
                    
</body>


<script type="text/javascript">

window.setInterval("Shi()",1);       
		function Shi()
		{ 
			var date = new Date();		//注意这个地方new后面不要加  .
			var n = date.getFullYear();
			var y = date.getMonth()+1;
			var r = date.getDate();
			var x = date.getDay();
			var h = date.getHours();
			var f = date.getMinutes();
			var m = date.getSeconds();
			var str = "北京时间:"+n+"年"+y+"月"+r+"日"+","+"星期"+x+","+h+":"+f+":"+m;
			document.getElementById("time").innerHTML = str;
		
		}

</script>

 总结:先建立一个新的变量date,获取时间,再利用字符串的拼接,要注意的是,注意所有的标点符号都是英文的。之后在div里
  获取的内容与拼接的东西相等。

 

出现如下图中的效果:

<style type="text/css">

.tou{
					width:50px;
					height:35px;
					
					float:left;
					text-align:center;
					vertical-align:middle;
					line-height:35px;
										
					}
					.xia{
						background-color:#F0F;
						}

</style>

<body>

 <!--点哪个菜单,出哪个下拉菜单,然后不点的话就隐藏。-->
        <div id="cai" style="width:100px; height:35px; background-color:#F00;">
        	<div class="tou" onclick="Dian(\'0\')">企业</div>
        	<div class="tou" onclick="Dian(\'1\')">员工</div>
        </div>
        
       		 <div class="xia" style="width:100px; height:50px; text-align:left;">
             <span>哈哈</span>
              <span>哈罗</span>
              <!--注意:如果说用<p>段落时,容易有空行,影响布局,尽量不要用。-->
             </div>
             	<div class="xia " style="width:100px; height:50px; text-align:left; display:none;">
                 <span>拜拜</span>
                  <span>再见</span>
                </div>

</body>


<script type="text/javascript">
function Dian(a)
		{ 
			var xia = document.getElementsByClassName("xia");
			
			for ( var i=0;i<xia.length;i++)
			{ 
				xia[i].style.display = "none";
			}
			xia[a].style.display = "block";
		}

</script>

 

以上是关于JS里的DOM在网页中的实际操作的主要内容,如果未能解决你的问题,请参考以下文章

如何用JS操作iFrame里的Dom

爬虫:网页里元素的xpath结构,scrapy不一定就找的到

JS中的DOM— —节点以及操作

js基础和dom操作

JS - JavaScript和DOM操作

JS中的DOM操作怎样添加移除移动复制创建和查找节点