js之悬浮广告理论 ---js篇

目录

 

一、向页面添加广告层

二、getElementByName( )方法获得表单元素

三、style的display属性实现层的隐藏

四、offsetWidth与offsetHeight

五、窗口滚动事件Move()

六、弹来弹去的广告

七、全选特效

八、简易轮播图

九、鼠标移过改变颜色

十、超连接特效

十一、精确定位

十二、document.all的用法

十二、getElementsByTagName

十三、访问H1的getElemtById

十四、获取当前坐标值的另一种方法


一、向页面添加广告层

  1. getElementById( )方法获得层对象
  2. pixelTop属性获取层距页面顶部的距离
  3. document.body.scrollTop获取滚动条距顶部的距离
  4. 设置层的z-index属性,数值大的靠前显示
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>广告</TITLE>
<SCRIPT language="javascript">
 
var initTop=0;
function init( )
{
   initTop=document.getElementById("advLayer1").style.pixelTop;
}
function move( )
{ 
    document.getElementById("advLayer1").style.pixelTop=initTop+document.body.scrollTop   ;
	document.getElementById("advLayer2").style.pixelTop=initTop+document.body.scrollTop   ;
	 
}
window.onscroll=move ;  //窗口的滚动事件,当页面滚动时调用move( )函数

</SCRIPT>
</HEAD>

<BODY onLoad="init()">

 <DIV id="advLayer1" style="position:absolute;	left:-7px;	top:79px;	width:139px;	height:253px;	z-index:1;">
<A href="#"><IMG src="images/left.jpg" width="144" height="253" border="0"></A>
</DIV>
  <DIV id="advLayer2" style="position:absolute;	left:885px;	top:79px;	width:129px;	height:257px;	z-index:1;">
<A href="#"><IMG src="images/right.jpg" width="130" height="256" border="0"></A>
</DIV>
</BODY>
</HTML>

二、getElementByName( )方法获得表单元素

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>getElementByName</TITLE>
<SCRIPT language="javascript">
function checkAll(checked)
{
   var allCheckBoxs=document.getElementsByName("isBuy") ;
   for (var i=0;i<allCheckBoxs.length ;i++)
   {
       if(allCheckBoxs[i].type=="checkbox"){  //可能有重名的其他类型元素,如图片、控件等,所以要判断类型
	   		allCheckBoxs[i].checked=checked;

		}
   }  
}
</SCRIPT>

</HEAD>

<BODY>
<FORM action="" name="buyForm" method="post">
<TABLE width="984"  border="0">
  <TR>
    <TD colspan="2"></TD>
  </TR>
  <TR>
    <TD width="176" align="center"><FONT size="-1">全选/取消</FONT><BR>
      <INPUT name="selectall" type="checkbox" id="selectall" onClick="checkAll(this.checked)"></TD>
    <TD width="824" align="center"></TD>
  </TR>
  <TR>
    <TD height="113" align="center"><INPUT name="isBuy" type="checkbox" id="isBuy" value="sanguo"></TD>
    <TD></TD>
  </TR>
  <TR>
    <TD colspan="2" align="center"><HR noshade="noshade" style="border:1px  #CCCCCC dashed " /></TD>
    </TR>
  <TR>
    <TD align="center"><INPUT name="isBuy" type="checkbox" id="isBuy" value="paozhu"></TD>
    <TD></TD>
  </TR>
  <TR>
    <TD colspan="2" align="center"><HR noshade="noshade" style="border:1px  #CCCCCC dashed " /></TD>
    </TR>
  <TR>
    <TD align="center"><INPUT name="isBuy" type="checkbox" id="isBuy" value="paozhu"></TD>
    <TD></TD>
  </TR>
  <TR>
    <TD colspan="2" align="center"><HR noshade="noshade" style="border:1px  #CCCCCC dashed " /></TD>
    </TR>
  <TR>
    <TD align="center"><INPUT name="isBuy" type="checkbox" id="isBuy" value="jingwu"></TD>
    <TD></TD>
  </TR>
  <TR>
    <TD colspan="2" align="center"><HR noshade="noshade" style="border:1px  #CCCCCC dashed " /></TD>
    </TR>
	  <TR>
    <TD colspan="2" align="center"></TD>
    </TR>
</TABLE>
</FORM>
</BODY>
</HTML>

三、style的display属性实现层的隐藏

可关闭的悬浮广告


  <HTML>
  <HEAD>
  <META http-equiv="Content-Type" content="text/html; charset=gb2312">
  <TITLE>浮动广告窗口</TITLE>
<SCRIPT language="javascript">
 
var advInitTop=0;
var closeInitTop=0;
function inix( )
{
   advInitTop=document.getElementById("advLayer").style.pixelTop;
   closeInitTop=document.getElementById("closeLayer").style.pixelTop;
}
function move( )
{
    document.getElementById("advLayer").style.pixelTop=advInitTop+document.body.scrollTop   ;
	document.getElementById("closeLayer").style.pixelTop=closeInitTop+document.body.scrollTop   ;
	 
}
function closeMe( )
{
    
    document.getElementById("closeLayer").style.display="none";
	document.getElementById("advLayer").style.display="none";
	 
}

	 
window.onscroll=move ;  //窗口的滚动事件,当页面滚动时调用move( )函数

</SCRIPT>

   
  
   
  <STYLE type="text/css">
<!--
body {
	margin-top: 0px;
}
-->
</STYLE></HEAD>
    
  <BODY  onLoad="inix( )" >
   <DIV id="closeLayer"  onClick="closeMe( )" style="position:absolute;	right:40px;	top:80px;	width:54px;	height:19px;z-index:2;">
   <FONT color="#0000FF" face="黑体">关闭</FONT>
   </DIV>
   
  <DIV id="advLayer"  style="position:absolute; right:30px; top:100px; width:86px; height:81px; z-index:1">
  <A href="http://www.taobao.com">
  <IMG src="images/float_advclose1.gif" width="85" height="80" border="0"></A>
  </DIV>
   
  </BODY>
  </HTML>
</div>

四、offsetWidth与offsetHeight

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>无标题文档</TITLE>
<script>

  var x = 50,y = 60;  //浮动广告初始位置

  var xin = true, yin = true;  //xin为真向右运动,否则向左,yin为真向下 运动,否则向上运动

  var step = 1;   //移动的距离

  var delay = 10;  //移动的时间间隔
  

  function floatAD() {

     var L=T=0;			//L左边界,T上边界

     var R= document.body.offsetWidth-document.getElementById("fly").offsetWidth;  //层移动的右边界

     var B = document.body.offsetHeight-document.getElementById("fly").offsetHeight; //层移动的下边界

     document.getElementById("fly").style.left = x;  //层移动后的左边界

     document.getElementById("fly").style.top = y;   //曾移动后上边界

     x = x + step*(xin?1:-1);		//判断水平方向

     if (x < L) { xin = true; x = L;}   //到达边界后的处理 

     if (x > R){ xin = false; x = R;} 

     y = y + step*(yin?1:-1); 

     if (y < T) { yin = true; y = T;} 

     if (y > B) { yin = false; y = B;} 
	 setTimeout("floatAD()", delay)		//隔多长时间调用一次

  }

   

</script>
</HEAD>

<BODY onLoad="floatAD()">
<DIV id="fly" style="position:absolute">
<A href= target="_blank">
<IMG src="images/fish.gif" border="0">
</A></DIV>
</BODY>
</HTML>

五、窗口滚动事件Move()

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>可关闭的浮动广告</TITLE>
<SCRIPT language="javascript">
 
var  picTop = 0;
var advTop = 0;
function init( )
{
   picTop=document.getElementById("advLayer").style.pixelTop;
   advTop=document.getElementById("closeAdv").style.pixelTop;
}
function move( )
{
    
    document.getElementById("advLayer").style.pixelTop=picTop+document.body.scrollTop;
	document.getElementById("closeAdv").style.pixelTop=advTop+document.body.scrollTop;
	 
}
function closeAdv(){
	document.getElementById("advLayer").style.display="none";
	document.getElementById("closeAdv").style.display="none";
}
	 
window.onscroll=move ;  //窗口的滚动事件,当页面滚动时调用move( )函数

</SCRIPT>
</HEAD>

<BODY onLoad="init()">
<IMG src="images/top.jpg"><IMG src="images/content1.jpg">
<IMG src="images/content2.jpg"><IMG src="images/foot.jpg">
 <DIV id="advLayer" style="position:absolute;	left:16px;	top:80px;	width:302px;	height:171px;	z-index:1;">
 <A href="#"><IMG src="images/lady_0007.jpg" width="301" height="171" border="0"></A>
 </DIV>
    <DIV id="closeAdv"  onClick="closeAdv()" style="position:absolute;	left:214px;	top:230px;	width:27px;	height:19px;z-index:2; cursor:hand">
	<IMG src="images/close.gif" width="100" height="14">
	</DIV>
</BODY>
</HTML>

六、弹来弹去的广告

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>广告</TITLE>
<SCRIPT>

  var x = 50,y = 60;  //浮动广告初始位置

  var xin = true, yin = true;  //xin为真向右运动,否则向左,yin为真向下 运动,否则向上运动

  var step = 1;   //移动的距离

  var delay = 10;  //移动的时间间隔
  

  function floatAD() {

     var L=T=0;			//L左边界,T上边界

     var R= document.body.offsetWidth-document.getElementById("fly").offsetWidth;  //层移动的右边界
	 

     var B = document.body.offsetHeight-document.getElementById("fly").offsetHeight; //层移动的下边界
	
     document.getElementById("fly").style.left = x;  //层移动后的左边界
	
     document.getElementById("fly").style.top = y;   //曾移动后上边界
	
     x = x + step*(xin?1:-1);		//判断水平方向

     if (x < L) { xin = true; x = L;}   //到达边界后的处理 

     if (x > R){ xin = false; x = R;} 

     y = y + step*(yin?1:-1); 

     if (y < T) { yin = true; y = T;} 

     if (y > B) { yin = false; y = B;} 
	 setTimeout("floatAD()", delay)		//隔多长时间调用一次

  }
</SCRIPT>
</HEAD>

<BODY onLoad="floatAD()">
<IMG src="images/top.jpg"><IMG src="images/content1.jpg"><IMG src="images/content2.jpg"><IMG src="images/foot.jpg">
 <DIV id="fly" style="position:absolute;	left:16px;	top:80px;	width:265px;	height:135px;	z-index:1;"><A href="#"><IMG src="images/lady_0007.jpg" width="264" height="134" border="0"></A></DIV>
</BODY>
</HTML>

七、全选特效

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>全选特效</TITLE>

<SCRIPT type="text/javascript">
function selectAll()
{
	var allCheckBoxs=document.getElementsByName("coffee") ;//获得checkbox对象的集合
	var desc = document.getElementById("btn").value;		//获得按钮对象
   
   if(desc=="全喜欢") {  
	document.getElementById("btn").value="都不喜欢";
		for (var i=0;i<allCheckBoxs.length ;i++)			//循环checkbox对象集合,设置每一个checkbox的状态
	   {
		   allCheckBoxs[i].checked=true ;  
	   }  
	}else{
		document.getElementById("btn").value="全喜欢";
		for (var i=0;i<allCheckBoxs.length ;i++)
	   {
		   allCheckBoxs[i].checked=false ;  
	   }  
	}
}

</SCRIPT>
</HEAD>

<BODY>
<P>你喜欢喝哪种类型咖啡</P>
<FORM>

<BR>
<INPUT type="checkbox" name="coffee" value="cream">蓝山咖啡<BR />
<INPUT type="checkbox" name="coffee" value="sugar">摩卡<BR />
<INPUT type="checkbox" name="coffee" value="sugar">拿铁<BR />
<INPUT type="checkbox" name="coffee" value="sugar">卡布其诺<BR />
<INPUT type="checkbox" name="coffee" value="sugar">爱尔兰咖啡<BR />
<INPUT  id="btn" type="button" onClick="selectAll()" value="全喜欢">
</FORM>
</BODY>

</HTML>

八、简易轮播图

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>多幅图片切换的特效</TITLE>
<SCRIPT type="text/javascript">
var count =1;
function init(){
	for(var i=1;i<5;i++){
		if(count==i){
		document.getElementById("pic"+i).style.display="block";
		}else{
		document.getElementById("pic"+i).style.display="none";
		}

	}
	count++;
	if(count==5){
		count=1;
	}	
	setTimeout("init()",3000);
}
</SCRIPT>
</HEAD>

<BODY onLoad="init()">
<DIV id="pic1"><IMG src="images/pic1.jpg" width="400" height="300"></DIV>
<DIV id="pic2" style="display:none"><IMG src="images/pic2.jpg" width="400" height="300"></DIV>
<DIV id="pic3" style="display:none"><IMG src="images/pic3.jpg" width="400" height="300"></DIV>
<DIV id="pic4" style="display:none"><IMG src="images/pic4.jpg" width="400" height="300"></DIV>
</BODY>
</HTML>

九、鼠标移过改变颜色

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>通过document对象相关属性动态改变背景色</TITLE>
<SCRIPT language="JavaScript">
function change(color)
{
  document.bgColor=color ;
}
</SCRIPT>
</HEAD>

<BODY>
<H2> 移过来我变色给你看看!</H2>
<FONT size=4><SPAN onMouseOver="change('red')">变红色</SPAN>|<SPAN onMouseOver="change('blue')">变蓝色</SPAN>|<SPAN onMouseOver="change('yellow')">变黄色</SPAN></FONT>
</BODY>
</HTML>

十、超连接特效

<div id=tt style="width:122px;height:20px;background-color:#FF9966;border:1px solid black;display:none;position:absolute;"> 打造精品特效站 </div>
<a href=http://www.vv.net target="_blank" 
onmouseover="tt.style.display='';
tt.style.pixelTop=event.y;
tt.style.pixelLeft=event.x" 
onmouseout="tt.style.display='none'">
网页特效</a>

十一、精确定位

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<TITLE>随滚动条移动的层 - 51windows.Net</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html" charset="gb2312">
<META NAME="Author" CONTENT="haiwa">
<META NAME="homepage" CONTENT="www.51windows.net">
</HEAD>
<style>
<!--
.div{
	position: absolute;
	border: 2px solid red;
	background-color: #EFEFEF;
	line-height:90px;
	font-size:12px;
	z-index:1000;
	left: 150px;
}
-->
</style>
<BODY>
<div id="Javascript.Div1" class="div" style="width: 240px; height:90px" align="center">正中...</div>
<SCRIPT LANGUAGE="JavaScript">
function sc1(){
 document.getElementById("Javascript.Div1").style.top=(document.documentElement.scrollTop+(document.documentElement.clientHeight-document.getElementById("Javascript.Div1").offsetHeight)/2)+"px";
 document.getElementById("Javascript.Div1").style.left=(document.documentElement.scrollLeft+(document.documentElement.clientWidth-document.getElementById("Javascript.Div1").offsetWidth)/2)+"px";
}
</SCRIPT>


<div id="Javascript.Div2" class="div" style="width: 240px; height:90px" align="center">左上...</div>
<SCRIPT LANGUAGE="JavaScript">
function sc2(){
 document.getElementById("Javascript.Div2").style.top=(document.documentElement.scrollTop)+"px";
 document.getElementById("Javascript.Div2").style.left=(document.documentElement.scrollLeft)+"px";
}
</SCRIPT>

<div id="Javascript.Div3" class="div" style="width: 240px; height:90px" align="center">左下...</div>
<SCRIPT LANGUAGE="JavaScript">
function sc3(){
 document.getElementById("Javascript.Div3").style.top=(document.documentElement.scrollTop+document.documentElement.clientHeight-document.getElementById("Javascript.Div3").offsetHeight)+"px";
 document.getElementById("Javascript.Div3").style.left=(document.documentElement.scrollLeft)+"px";
}
</SCRIPT>

<div id="Javascript.Div4" class="div" style="width: 240px; height:90px" align="center">右上...</div>
<SCRIPT LANGUAGE="JavaScript">
function sc4(){
 document.getElementById("Javascript.Div4").style.top=(document.documentElement.scrollTop)+"px";
 document.getElementById("Javascript.Div4").style.left=(document.documentElement.scrollLeft+document.documentElement.clientWidth-document.getElementById("Javascript.Div4").offsetWidth)+"px";
}
</SCRIPT>

<div id="Javascript.Div5" class="div" style="width: 240px; height:90px" align="center">右下...</div>
<SCRIPT LANGUAGE="JavaScript">
function sc5(){
 document.getElementById("Javascript.Div5").style.top=(document.documentElement.scrollTop+document.documentElement.clientHeight-document.getElementById("Javascript.Div5").offsetHeight)+"px";
 document.getElementById("Javascript.Div5").style.left=(document.documentElement.scrollLeft+document.documentElement.clientWidth-document.getElementById("Javascript.Div5").offsetWidth)+"px";
}
</SCRIPT>


<SCRIPT LANGUAGE="JavaScript">
<!--
function scall(){
 sc1();sc2();sc3();sc4();sc5();
}
window.onscroll=scall;
window.onresize=scall;
window.onload=scall;
//-->
</SCRIPT>
<div style="position: absolute; top: 0px; left: 0px; width: 10000px; height: 4000px;"></div>
</BODY>
</HTML>
 

十二、document.all的用法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Document.All Example #2</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<!-- Works in Internet Explorer and compatible -->
<h1 id="heading1" align="center" style="font-size: larger;">DHTML Fun!!!</h1>
<form name="testform" id="testform" action="#" method="get">
<br /><br />
<input type="button" value="Align Left" 
onclick="document.all['heading1'].align='left';" />
<input type="button" value="Align Center"
onclick="document.all['heading1'].align='center';" />
<input type="button" value="Align Right"
onclick="document.all['heading1'].align='right';" />
<br /><br />
<input type="button" value="Bigger"
onclick="document.all['heading1'].style.fontSize='xx-large';" />
<input type="button" value="Smaller"
onclick="document.all['heading1'].style.fontSize='xx-small';" />
<br /><br />
<input type="button" value="Red"
onclick="document.all['heading1'].style.color='red';" />
<input type="button" value="Blue"
onclick="document.all['heading1'].style.color='blue';" />
<input type="button" value="Black"
onclick="document.all['heading1'].style.color='black';" />
<br /><br />
<input type="text" name="userText" id="userText" size="30" />
<input type="button" value="Change Text"
onclick="document.all['heading1'].innerText=document.testform.userText.value;" />
</form>
</body>
</html>

十二、getElementsByTagName

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Byname,tag</title>
<style type="text/css">
<!--
#docid1,#docid2{
margin:10px;
height:400px;
width:400px;
background-color:#999;}
-->
</style>
</head>
<body>
<div name="docname" id="docid1" onClick="bgcolor()"></div>
<div name="docname" id="docid2" onClick="bgcolor()"></div>
</body>
</html>
<script language="javascript" type="text/javascript">
<!--
function bgcolor(){
var docnObj=document.getElementsByTagName("div");
docnObj[0].style.backgroundColor = "red";
docnObj[1].style.backgroundColor = "blue";
}
-->
</script>

十三、访问H1的getElemtById

<html>
<head>
<script type="text/javascript">
function getValue()
{
var x=document.getElementById("myHeader")
alert(x.innerHTML)
}
</script>
</head>
<body>

<h1 id="myHeader" onclick="getValue()">This is a header</h1>
<p>Click on the header to alert its value</p>

</body>
</html>

十四、获取当前坐标值的另一种方法

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>无标题文档</TITLE>
<STYLE type="text/css">
<!--
body {
	background-image: url(images/game.jpg);
	background-repeat: repeat-y;
}
#man {
	position:absolute;
	left:526px;
	top:303px;
	width:93px;
	height:121px;
	z-index:1;
}
 
-->
</STYLE>
<SCRIPT language="javascript" type="text/javascript">
 function move( )
 {
  //top属性返回的是类似23px的值,而非简单的数字,parseInt(...)的值,才相当于pixelTop
  alert(parseInt(document.getElementById("man").currentStyle.top)); 
 if (event.keyCode==38)
    document.getElementById("man").currentStyle.pixelTop=document.getElementById("man").style.pixelTop-5;
  if (event.keyCode==40)
    document.getElementById("man").style.pixelTop=document.getElementById("man").style.pixelTop+5;
  if (event.keyCode==37)
    document.getElementById("man").style.pixelLeft=document.getElementById("man").style.pixelLeft-5;
  if (event.keyCode==39)
    document.getElementById("man").style.pixelLeft=document.getElementById("man").style.pixelLeft+5;
 }
document.onkeydown= move ;
 </SCRIPT>
</HEAD>

<BODY>
<DIV id="man"><IMG src="images/man.gif" width="82" height="152"></DIV>
</BODY>
</HTML>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值