[对联广告] JS脚本类

所属分类: 网络编程 / JavaScript 阅读数: 1449
收藏 0 赞 0 分享
//****************************************************************************************
//& 作者: 哇哇鱼
//& 日期: 2004年12月31日
//& 网站: http://www.13smile.com/
//& Blog: http://blog.csdn.net/bpfish
//& 名称: [对联广告] JS脚本类
//& 作用: 显示页面的对联广告
//& 方法:
//& SmileAdver.setLeftPos(10);          //设置左边对联的距页面左边的位置(PX)
//& SmileAdver.setLeftTop(150);         //设置左边对联的距页面顶部的位置(PX)
//& SmileAdver.setRightPos(10);         //设置右边对联的距页面右边的位置(PX)
//& SmileAdver.setRightTop(150);        //设置右边对联的距页面顶部的位置(PX)
//& SmileAdver.addLeftImage(链接,图片地址,链接目标,图片提示);      //添加左边对联广告的图片
//& SmileAdver.addRightImage(链接,图片地址,链接目标,图片提示);      //添加右边对联广告的图片
//& SmileAdver.scroll();                //显示对联广告
//&
//****************************************************************************************
function SmileAdver_Class(){
var leftImageArray = new Array();   //保存左边的广告图片数组
var rightImageArray = new Array();  //保存右边的广告图片数组
var leftPos,rightPos;              //leftPos = 左边广告的距左边栏位置(px)    rightPos = 右边广告的距右边栏位置(px)
var leftTop,rightTop;              //leftTop = 左边广告的距顶边栏位置(px)    rightTop = 右边广告的距顶边栏位置(px)
var lastScrollY=0;
leftPos = rightPos = 10;           //默认为10
leftTop = rightTop = 150;          //默认为150
this.setLeftPos = function(value){
 if(isNaN(value)){value = 10;}   //非数字则默认为10
 leftPos = value;
}
this.setRightPos = function(value){
 if(isNaN(value)){value = 10;}   //非数字则默认为10
 rightPos = value;
}
this.setLeftTop = function(value){
 if(isNaN(value)){value = 150;}   //非数字则默认为150
 leftTop = value;
}
this.setRightTop = function(value){
 if(isNaN(value)){value = 150;}   //非数字则默认为150
 rightTop = value;
}
//添加左边的图片广告 addLeftImage(链接,图片地址,链接目标,图片提示)
this.addLeftImage = function(href,image,target,title){
 var imageArray = getImageArray(href,image,target,title);
 if(imageArray != null){
    leftImageArray[leftImageArray.length] = imageArray;
 }
}
//添加右边的图片广告 addRightImage(链接,图片地址,链接目标,图片提示)
this.addRightImage = function(href,image,target,title){
 var imageArray = getImageArray(href,image,target,title);
 if(imageArray != null){
    rightImageArray[rightImageArray.length] = imageArray;
 }
}
//内部添加广告图片使用,如果没有图片地址,则返回一个null值,否则返回一个数组
function getImageArray(href,image,target,title){
 if(image == undefined){return null;}                 //没有图片地址,不添加
 if(target == undefined || target == ""){target = "_blank"};     //默认为_blank打开方式
target = " target=\"" + target + "\"";
 if(title == undefined){                         //广告图片title提示
  title = "" ;
 }else{
  title = " title=\"" + title + "\"";
 }
 //链接以www.开头则自动加上http://  (否则链接时会链接错误)
 if(href.toLowerCase().substring(0,4) == "www."){
   href = "http://"; + href;
 }
 if(image.toLowerCase().substring(0,4) == "www."){
   image = "http://"; + image;
 }
 return new Array(href,image,target,title);
}
//内部显示图片横幅所用 showImageDiv(div的名称,div的摆放方向(left,right),div的摆放位置,div层距顶部的位置,显示的图片数组变量)
function showImageDiv(div,pos,posPX,topPx,imageArray){
 var j;
 document.write("<div id=\"" + div + "\" style=\"" + pos + ":" + posPX + "px;POSITION:absolute;TOP:" + topPx + "px;\">");
 for(j=0; j< imageArray.length; j++){
    document.write("<a href=\"" + imageArray[j][0] + "\" "+ imageArray[j][2]+ imageArray[j][3] + "><img src=\""+ imageArray[j][1] + "\" border=\"0\" "+ imageArray[j][3] + "></a>");
    if(j != imageArray.length-1){document.write("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=10></td></tr></table>");}
 }
 document.write("</div>");
}
//滚动广告对联图片
this.scroll = function(){
 showImageDiv("smilediv1","left",leftPos,leftTop,leftImageArray);
 showImageDiv("smilediv2","right",rightPos,rightTop,rightImageArray);
 window.setInterval(scrollImage,1);
}
//内部使用用来滚动广告图片
function scrollImage(){
 var diffY,percent;
 diffY=document.body.scrollTop;
 percent=.1*(diffY-lastScrollY);
 if(percent>0)percent=Math.ceil(percent);
 else percent=Math.floor(percent);
 document.all.smilediv1.style.pixelTop+=percent;
 document.all.smilediv2.style.pixelTop+=percent;    
 lastScrollY=lastScrollY+percent;
}
}
///////////////////////////////////////////类结束////////////////////////////////////////////////////////////////
/////////类的使用示例代码////////////////////////////////////////////////
var SmileAdver = new SmileAdver_Class();
SmileAdver.setLeftPos(10);
SmileAdver.setRightPos(10);
SmileAdver.setLeftTop(150);
SmileAdver.setRightTop(150);
SmileAdver.addLeftImage("http://www.138tips.com/","http://www.88ball.com/images/138tips.gif";,"","asdfasdf");
SmileAdver.addLeftImage("http://www.138tips.com/","http://www.88ball.com/images/138tips.gif");
SmileAdver.addLeftImage("http://www.138tips.com/","http://www.88ball.com/images/138tips.gif");
SmileAdver.addRightImage("http://www.138tips.com/","http://www.88ball.com/images/138tips.gif");
SmileAdver.addRightImage("http://www.138tips.com/","http://www.88ball.com/images/138tips.gif");
SmileAdver.addRightImage("http://www.138tips.com/","http://www.88ball.com/images/138tips.gif");
SmileAdver.scroll();
更多精彩内容其他人还在看

Angular使用Md5加密的解决方法

这篇文章主要介绍了Angular使用Md5加密的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解JS构造函数中this和return

本文通过实例代码给大家介绍了JS构造函数中this和return,需要的朋友参考下吧
收藏 0 赞 0 分享

ES6中Array.find()和findIndex()函数的用法详解

ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。下面通过实例详解,需要的朋友参考下吧
收藏 0 赞 0 分享

JS闭包的几种常见形式实例详解

本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
收藏 0 赞 0 分享

ES6中Array.copyWithin()函数的用法实例详解

ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去。下面重点给大家介绍ES6中Array.copyWithin()函数的用法,需要的朋友参考下
收藏 0 赞 0 分享

Javascript 严格模式use strict详解

严格模式:由ECMA-262规范定义的JavaScript标准,对javascrip的限制更强。这篇文章主要介绍了Javascript 严格模式use strict详解 ,需要的朋友可以参考下
收藏 0 赞 0 分享

引入JavaScript时alert弹出框显示中文乱码问题

今天在HTML中引入JavaScript文件运行时,alert弹出的提示框中文显示为乱码,怎么解决此问题呢?下面小编给大家带来了引入JavaScript时alert弹出框显示中文乱码问题的解决方法,一起看看吧
收藏 0 赞 0 分享

AngularJs 延时器、计时器实例代码

这篇文章主要介绍了AngularJs 延时器、计时器实例代码,需要的朋友可以参考下
收藏 0 赞 0 分享

JS分页的实现(同步与异步)

这篇文章主要介绍了JS分页的实现(同步与异步),需要的朋友可以参考下
收藏 0 赞 0 分享

Angularjs自定义指令实现分页插件(DEMO)

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能,下面小编把实例demo分享到脚本之家平台,需要的朋友参考下
收藏 0 赞 0 分享
查看更多