关键词弹出广告

<meta content="text/html; charset=gb2312" http-equiv="Content-Type" />
<style type="text/css">

.pg
{
BORDER: #cccccc 1px dashed; PADDING: 10px; FONT-SIZE: 12px! important;WIDTH: 680px; WORD-BREAK: break-all; LINE-HEIGHT: 150%;  BACKGROUND-COLOR: #fffff4; WORD-WRAP: break-word
}</style>
<script>
//替换执行
function recha(regeid,regetxt_,regehref_,regeall)
{//--替换地址,替换关键字,全局/唯一
  var regestyle="<nobr style='border-bottom:red 2px dotted;CURSOR: pointer;'><a href='"+regehref_+"' onmouseover=showad('"+regetxt_+"','"+regehref_+"') onmouseout=hidit()>$&</a></nobr>"//定义替换样式(功能)
  var obj=document.getElementById(regeid);
  var regetxt=regemak(regetxt_,regeall);
  var text=obj.innerHTML.replace(regetxt,regestyle);
  obj.innerHTML=text;
}
//产生正则
function regemak(txt_,all_)
{
  return all_==1?eval("/"+txt_+"/g"):eval("/"+txt_+"/");
}
var regeword=[];//定义替换关键词数组
var txtarray=[];//定义关键词提示语数组
var hrefarray=[];//定义关键词链接href数组
//start
function cha_init(id)
{
 if (regetext=="")return
 var tmp=regetext.split("##");
 for (var i=0;i<tmp.length-1;i++)
 {
  regeword[i]=tmp[i].split("@@")[0];
  txtarray[i]=tmp[i].split("@@")[1];
  hrefarray[i]=tmp[i].split("@@")[2];
 }
 for (var i=0;i<regeword.length;i++)
 recha(id,regeword[i],hrefarray[i],0)
    //for (var i=0;i<regeword.length;i++)
    //recha(id,regeword[i],hrefarray[i],1)
}
//pop提示框---开始
tPopWait=2;
showPopStep=50;
popOpacity=85;
sPop=null;
curShow=null;
tFadeOut=null;
tFadeWaiting=null;
puptxt_t='<table border="0" width="152" height="120" id="table1" cellspacing="0" cellpadding="0"><tr><td height="25" style="background:#FEFEDA;font-size:14px;color:red;font-weight:bold;padding-left:10px; padding-right:10px; padding-top:8px; padding-bottom:0px;text-align:center">CaiYing2007提示</td></tr><tr><td  style="background:#FEFEDA repeat-y;WORD-BREAK: break-all;font-size:12px; WORD-WRAP: break-word; padding-left:10px; padding-right:10px; padding-top:6px; padding-bottom:2px">'
puptxt_b='</td></tr><tr><td height="14" style="background:#FEFEDA no-repeat 0 0;"></td></tr></table>'
document.write("<style type='text/css'id='defaultPopStyle'>");
document.write(".cPopText {filter: Alpha(Opacity=0)}");
document.write("</style>");
document.write("<div id='popLayer' style='position:absolute;z-index:1000;width:152px;' class='cPopText'></div>");
var puptxt=""
function showad(adtxt,adhref){
 var o=event.srcElement;
 MouseX=event.x;
 MouseY=event.y;
 if (adtxt)
   o.pop=adtxt
 else
   o.pop=""
// if(o.pop!=sPop) {
 if(o.pop!=sPop||o.pop==sPop) {
  for (var ii=0;ii<regeword.length;ii++)
  if (regeword[ii]==adtxt)
  puptxt=puptxt_t+txtarray[ii]+puptxt_b;
  sPop=o.pop;
  clearTimeout(curShow);
  clearTimeout(tFadeOut);
  clearTimeout(tFadeWaiting); 
  if(sPop==null || sPop=="") {
   popLayer.innerHTML="";
   popLayer.style.filter="Alpha()";
   popLayer.filters.Alpha.opacity=0; 
  }
  else {
   if(o.dyclass!=null) popStyle=o.dyclass
   else popStyle="cPopText";
   curShow=setTimeout(function(){showIt(adhref)},tPopWait);
  }
 }
}
function showIt(adhref) {
 popLayer.className=popStyle;
 popLayer.innerHTML=puptxt;
 popLayer.onclick=function(){window.location.href=adhref}
 popLayer.onmouseover=function(){clearTimeout(adtimer);}/////////////////////////////
 popLayer.onmouseout=function(){hidit();}/////////////////////////////
 popWidth=popLayer.clientWidth;
 popHeight=popLayer.clientHeight;
 if(MouseX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24;else popLeftAdjust=0;
 if(MouseY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24;else popTopAdjust=0;
 popLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust;
 popLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust;
 popLayer.style.filter="Alpha(Opacity=0)";
 fadeOut();
}
function fadeOut(){
 if(popLayer.filters.Alpha.opacity<popOpacity) {
  popLayer.filters.Alpha.opacity+=showPopStep;
  tFadeOut=setTimeout("fadeOut()",1);
 }
}
var adtimer
function hidit(){
adtimer=setTimeout(function(){
 popLayer.style.left=-100;
 popLayer.style.top=-100;
 popLayer.innerHTML="";
 popLayer.style.filter="Alpha()";
 popLayer.filters.Alpha.opacity=0; 
},1000)
}
//pop提示框---结束
</script>
<div class="pg" id="xydwtext">这个例子很简单就是把字符串替换了,在代码关键字前后加上的HTML标签:标签头 + 关键字 + 标签尾。把匹配的文本替换成新的文本,当鼠标指向关键词,会显示提示层。<br />
<br />
1)初始定义简单:<br />
(本例定义三个关键词:字符串\HTML标签\函数)<br />
< script><br />
//替换关键词@@关键词提示语@@关键词链接href##<br />
var regetext="字符串@@字符串是诸如字母、数字和标点符号等字符的序列。在动作脚本语句中输入字符串的方式是将其放在单引号或双引号之间。@@http://www.111cn.cn/intl/zh-CN/##"<br />
regetext+="HTML标签@@HTML标签是HTML语言中最基本的单位,HTML标签是HTML语言最重要的组成部分。@@http://www.111cn.cn/intl/zh-CN/##"<br />
regetext+="函数@@如果当< font color=red>变量< /font>x在其变化范围内任意取定一个数值时,< font color=red>变量< /font>y按照一定的法则总有确定的数值与它对应,则称y是x的函数。@@http://www.111cn.cn/intl/zh-CN/##"<br />
cha_init("xydwtext");<br />
< /script><br />
<br />
2)这里只替换第一个匹配的关键词,如果全部替换,在函数:<br />
cha_init(id) 中,把:<br />
for (var i=0;i < regeword.length;i++)recha(id,regeword[i],0)<br />
改为:<br />
for (var i=0;i < regeword.length;i++)recha(id,regeword[i],1)<br />
即可<br />
<br />
3)这里,鼠标连续重复指向一个关键词时反复提示,,如果希望只提示一次,在函数:<br />
showad(adtxt) 中,把:<br />
if(o.pop!=sPop||o.pop==sPop) {<br />
改为:<br />
if(o.pop!=sPop) {<br />
即可<br />
<br />
4)这里,关键词搜索范围为:<br />
< div class=pg id=xydwtext>< /div><br />
可以任意定义< body>内的任意“块”<br />
修改:cha_init("xydwtext")的参数即可 <script>
//替换关键词@@关键词提示语@@关键词链接href##
var regetext="字符串@@<a  href='http://www.126.com/'>字符串是诸如字母、数字和标点符号等字符的序列。在动作脚本语句中输入字符串的方式是将其放在单引号或双引号之间。</a>@@http://www.google.com/intl/zh-CN/##"
regetext+="HTML标签@@HTML标签是HTML语言中最基本的单位,HTML标签是HTML语言最重要的组成部分。@@http://www.google.com/intl/zh-CN/##"
regetext+="函数@@如果当<font color=red>变量</font>x在其变化范围内任意取定一个数值时,<font color=red>变量</font>y按照一定的法则总有确定的数值与它对应,则称y是x的函数。@@http://www.google.com/intl/zh-CN/##"
cha_init("xydwtext");
</script></div>

你可能感兴趣的:(关键词)