网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用XML数据岛解决用户界面问题 - 3.
.ASP调用ORACLE存储过程并返回结果.
.ASP技术在论坛中的运用(八)(吐血.
.ASP无法更新ACCESS数据库解决方法.
.大部分ADO的错误码对应的含义.
.精彩ASP-镜象站点速度测试.
.asp操作excel,显示数据及统计方.
.如何使用ASP在自己的网站建立投票.
.asp取动态表单中数据并写入xml文.
.利用XSL和ASP实现XML文档在线编辑.
.透过ASP修改NT使用者的密码.
.ASP连接数据库的全能代码.
.提高ASP性能的最佳选择(续三).
.将指定的asp文件内容生成HTML文件.
.另类扩展名同样执行ASP.
.利用global.asa计划执行程序.
.ASP调用带参数存储过程的几种方式.
.将半角"转换为中文"的.
.批量对加密的asp代码解密的asp程.
.用asp生成wml.

灵活实用的页面广告实例

发表日期:2000-12-20


灵活实用的页面广告实例

目前,许多主页上流行放置一个浮动层的广告图像(通常位于页面右下方),显示在文字层之上,当页面上下滚动时,广告图像并不随页面滚动,它总能在窗口中保持一个固定位置。本程序就是这种广告效果的一个实例,并在原有的基础上增加了拖动功能,如果在浏览页面时需要观察的内容正好被广告图像遮挡,可将广告图像拖到其它位置。并解决了图像拖动中鼠标按键的Click动作与执行广告图像链接的Click动作之间的冲突。直接点击广告图像即可执行图像链接,而在图像拖动过程中的鼠标按下和释放的动作不会触发广告链接。这样改进后,用户在浏览你的页面时会感到更加方便、自然。
程序是由JavaScript脚本语言编写的,并不复杂,为了节省文章篇幅起见,就不在此处对程序原理作过多的说明了,而是在后面的程序文档中给出详实的注释语句。读者通过阅读注释说明就会明了实现的原理,并可从中了解到如何在屏幕上定位图像,拖动图像等许多动态HTML语句的编程方法。如果想直接使用这个程序,只要将演示页面的相应内容复制到自己页面内的对应位置就可以使用了。
程序文档分为二个部分,dragtest.htm是演示用的主页面程序,mydrag.js是由主页面调用的外部脚本程序文件,还使用了一个演示用的图像文件:myimage.gif 。将主页面文件、脚本文件和图像文件放置在相同目录下,就可正常使用。具体的程序文档内容如下:
(一)·简化的主页面演示程序文档:dragtest.htm
<html>
<head>
<title>可拖动的广告图像演示页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<STYLE TYPE="text/css">
<!--
/*设定一个ID样式,名称中要包含DRAG字串,供程序识别可拖动元件用。*/
  #elDRAGone {  
    position: absolute;
    left: 600; top: 300;
    color: red;
    width: 120;
    height:60;
    z-index:3;
  }
-->
</STYLE>
</HEAD>
</head>
<body bgcolor="#FFFFFF" style="font-size:9pt;color:'#555500';">
<!-- 在DIV标记的属性中指定前面设定的ID样式。-->
<!-- 注意<a>标记中的onclick="return if_link();"事件语句, -->
<!-- 由它调用是否执行链接动作的判别函数,如果返回值为“假”, -->
<!-- 则不执行链接动作,反之则执行链接动作。-->
<DIV ID="elDRAGone"><a href="http://www.sohu.com" onclick="return if_link();"> <img src="myimage.gif" border="0" alt="可拖动到任意位置!"><a></DIV>
<SCRIPT LANGUAGE="JavaScript">
/*连续输出多个文字串,供页面演示用。*/
for(i=0;i<50;i++){
document.write("这是一个“可拖动的广告图像”演示程序。<br><br>");
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript" src=mydrag.js>
/*调用图像拖动控制程序的外部脚本文件*/
/*注意此脚本的调用要放置在body区域的下部*/
</SCRIPT>
</body>
</html>

(二)·由主页面调用的外部脚本程序文档:mydrag.js
///////外部脚本控制程序开始///////
///////程序名:mydrag.js ///////
//记录页面的垂直滚动位置的变量。
lastScrollY=0;
//在程序中校准图像在页面中的位置。
with (document.all.elDRAGone) {
style.pixelTop=offsetTop;
style.pixelLeft=offsetLeft;
}
//在页面上定位图像的函数。
function position_img() {
//计算出页面垂直滚动的偏移量。
diffY = document.body.scrollTop-lastScrollY;
//保存本次页面滚动位置。
lastScrollY=document.body.scrollTop;
//移动图像到原来的窗口位置。
document.all.elDRAGone.style.pixelTop += diffY;
}
//建立记录图像初始位置的变量,用于计算图像是否被拖动过。
originX=originY=0;
//如果图像被拖动过,则offset_pixel变量的值大于0。
offset_pixel=0;
//记录图像在文档中的现行坐标值。
currentX = currentY = 0;
//保存被拖动对象的变量。
whichEl = null;      
//onmousedown事件调用的图像抓取函数。   
function grabEl() {   
  //只允许用鼠标左键拖动!   
  if (event.button !=1) {return;}
  //将鼠标点击的对象存入whichEl变量。
  whichEl=event.srcElement;
  //判断是否为可拖动的对象。
  while(whichEl.id.indexOf("DRAG")==-1){
   whichEl=whichEl.parentElement;
   if (whichEl==null){return;}
  }
  //记录图像抓取时的初始窗口位置。
  originX=event.clientX;
  originY=event.clientY;
  //将拖动判别变量设为0值。
  offset_pixel=0;
  //校准图像在文档上的位置。
  whichEl.style.pixelLeft=whichEl.offsetLeft;
  whichEl.style.pixelTop=whichEl.offsetTop;
  //记录图像相对于文档的现行位置坐标。
  currentX=event.clientX+document.body.scrollLeft;    
  currentY=event.clientY+document.body.scrollTop;
}
//onmousemove事件调用的图像移动函数。
function moveEl() {   
  //如果没有抓取拖动的对象,则返回。   
  if (whichEl==null){return;}
  //如果拖动了图像,则将变量offset_pixel
  //赋予大于0的值,以标记图像已被拖动。
  //从而使图像在拖动完成后不执行链接功能。
  offset_X=Math.abs(event.clientX-originX);
  offset_Y=Math.abs(event.clientY-originY);
  offset_pixel=offset_X+offset_Y;
  //计算拖动时新的文档坐标的位置。
  newX=event.clientX+document.body.scrollLeft;    
  newY=event.clientY+document.body.scrollTop;
  //计算出现行位置与拖动前初始位置的偏差。
  distanceX=newX-currentX;
  distanceY=newY-currentY;
  //用现行位置更新初始位置变量。
  currentX=newX;
  currentY=newY;
  //实际移动图像的位置。
  whichEl.style.pixelLeft +=distanceX;
  whichEl.style.pixelTop +=distanceY;
  event.returnValue=false;   
}
//onmouseup函数调用的图像放置函数。
//表明拖动过程结束。
function dropEl() {  
  whichEl=null;
}
//根据图像是否被拖动过来决定是否执行
//与图像有关的链接。
function if_link(){
if(offset_pixel>0)
    //如果图像被拖动过,则此函数返回假,
    //不执行与图像有关的链接。
  return false;
else
    //否则返回真值,执行图像的链接。
  return true;
}
//改变可拖动对象为十字光标的句柄函数。
function curEl(){
Over_Element=event.srcElement;
  while(Over_Element.id.indexOf("DRAG")==-1){
   Over_Element=Over_Element.parentElement;
   if (Over_Element==null){return;}
  }
  event.srcElement.style.cursor = "move";
}

  //以下是在文档中设定的鼠标事件句柄。
  document.onmousedown = grabEl;
  document.onmousemove = moveEl;
  document.onmouseup = dropEl;
  document.onmouseover = curEl;
  //定时调用图像移动函数,此时为1秒。
  action = window.setInterval("position_img()",1000);
//////////外部脚本控制程序结束//////////////////


本程序在IE 4.0以上版本的浏览器下使用通过。

文章署名:一帆
作者姓名:赵莉丽 .
电子邮件:cnyf@21cn.com


【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    
上一篇:避免表单的重复提交又一方法(js) 人气:12402
下一篇:如何用JavaScript识别Netscape 6 浏览器 人气:11030
浏览全部的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐