JS脚本类介绍

JS脚本类介绍

好久没有来更新BLOG啦,这段时间都在忙着.NET平台的程序编写..ASP都没有接触啦....今天更新一下BLOG吧..今天也是2004年最后一天.当是一份礼物吧JS脚本类介绍

今天因一个页面需要放对联广告.于是产生了写一个脚本类的想法(老习惯,总想把什么东西都封装在类里.呵)
还是不在说什么啦.要看的东西都在代码里(注释也加了很多)示例代码也一并送上...



//****************************************************************************************
//& 作者: 哇哇鱼
//& 日期: 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 i;
document.write("<div id=/"" + div + "/" style=/"" + pos + ":" + posPX + "px;POSITION:absolute;TOP:" + topPx + "px;/">");
for(i=0; i< imageArray.length; i++){
document.write("<a href=/"" + imageArray[i][0] + "/" "+ imageArray[i][2]+ imageArray[i][3] + "><img src=/""+ imageArray[i][1] + "/" border=/"0/" "+ imageArray[i][3] + "></a>");
if(i != 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();