简单的Ajax标签导航效果,兼容性很好[来看看] - 网页特效代码演示 - 特效代码运行 

代码:
/**********************************************
* @author        skyz
* @function    javascript client ajax dealwith
* @datetime    2006-3-20
**********************************************    
* Function: Create a httpRequest object
**********************************************/
function HttpRequest(){
    this._httpRequest=null;                                    //HttpRequest request object
    this._callBack=null;                                    //Call back function
    this._domResult=true;                                    //Result if dom object or text string
    this._requestData=null;                                    //Request data
    this._requestResult=null;                                //HttpRequest result
    this._stateString=null;                                    //Current request state string
    this._error=false;                                        //Current if have error
    this._callBackPara=null;                                //Current callback function parama
    //internal method for get HttpRequestObject
    this.init=function(){
        //Judge if Not IE
        if(window.XMLHttpRequest){
            this._httpRequest=new XMLHttpRequest();
            //Set request mime is text/xml
            if(this._httpRequest.overrideMimeType){
                this._httpRequest.overrideMimeType('text/xml');
            }
        }else if(window.ActiveXObject){
            try{
                this._httpRequest=new ActiveXObject("Msxml2.XMLHTTP");
            }catch(ex){
                try{
                    this._httpRequest=new ActiveXObject("Microsoft.XMLHTTP");
                }catch(ex){
                    this._setMessage(ex,true);
                    return;
                }
            }
        }
        //Judge HttpRequest object create successful
        if(!this._httpRequest){
            this._setMessage("XMLHttpRequest 对象创建失败!请重试......",true);
            return;
        }    
    }
    /*    
     * Function: Set the request header
     * namePar:request's header name
     * valuePar:request's header value
     */
    this.doSetRequestHeader=function(namePar,valuePar){
        if(this._error){
            return;
        }
        this._httpRequest.setRequestHeader(namePar,valuePar);
    }
    /*    
     * Function: Set the request data
     * dataPar:request's send data;
     */
    this.doSetRequestData=function(dataPar){
        if(this._error){
            return;
        }
        this._requestData=dataPar;
    }
    /*
     *Function get RequestHttp Object
    */
    this._getRequestObj=function(){
        if(this._error){
            return;
        }
        return this._httpRequest;
    }
    /*
     * Function:Set Callback function para
     */
    this.doSetCallBack=function(callBack,paraData){
        this._callBack=(callBack)?callBack:null;
        this._callBackPara=(paraData)?paraData:null;
    };
    /*
     * Function: Get current stateString
     */
    this.doGetState=function(){
        return this._stateString;
     }
     /*
     * Function: get current Error
     */
    this.doGetError=function(){
        return this._error;
     }
     /*
      *
      */
    this.doCallBack=function(){
        this._callBack(this._requestResult,this._callBackPara);
    }
    /*    
     * Function: Send the request
     * urlPar: request's url path
     * [methodPar]:request's method
     * [domPar]: request's result is dom or string
     */
    this.doSendResuest=function(urlPar,methodPar,obj,domPar,asyPar){
        if(obj._error){
            return;
        }
        methodPar=((methodPar)?methodPar:"GET");
        asyPar=((asyPar)?asyPar:true);
        this._domResult=(domPar)?domPar:obj._domResult;
        try{
                var a=this._getRequestObj();
                a.onreadystatechange=function(){
                    if(obj._error){
                        return;
                    }
                    var readyStateTmp=a.readyState;
                    if(readyStateTmp==0){
                        obj._setMessage("未初始化!");
                    }else if(readyStateTmp==1){
                        obj._setMessage("正在读取中......");
                    }else if(readyStateTmp==2){
                        obj._setMessage("已经读取过!");
                    }else if(readyStateTmp==3){
                        obj._setMessage("正在逐个切换......");
                    }else if(readyStateTmp==4){
                        var statusTmp=a.status;
                        if(statusTmp==404){
                            obj._setMessage("未找到请求页面!",true);
                        }else if(window.location.href.indexOf("http")==-1 || statusTmp==200){
                            obj._setMessage("完成!");    
                            if(this._domResult && window.XMLHttpRequest){
                                obj._requestResult=a.responseXml;
                            }else{
                                obj._requestResult=a.responseText;
                            }
                            if(obj._callBack){
                                obj.doCallBack();
                            }
                        }else{
                            obj._setMessage("未知错误!");
                        }
                    }else{
                        obj._setMessage("未知错误!");
                    }    
                }
            a.open(methodPar,urlPar,asyPar);
            a.setRequestHeader("If-Modified-Since","0");
            a.send(obj._requestData);
        }catch(ex){
            obj._setMessage(ex,true);
        }
    }
    /*
     * Function: Deal exception error
     * exPar:error string
     */
    this._setMessage=function(exPar,mark){
        this._stateString=exPar.toString();
        this._error=(mark)?mark:false;
     }
}    
function.js
复制内容到剪贴板
代码:
<!--
function getObject(objectId) {
     if(document.getElementById && document.getElementById(objectId)) {
    // W3C DOM
       return document.getElementById(objectId);
     }
     else if (document.all && document.all(objectId)) {
    // MSIE 4 DOM
       return document.all(objectId);
     }
     else if (document.layers && document.layers[objectId]) {
    // NN 4 DOM.. note: this won't find nested layers
       return document.layers[objectId];
     }
     else {
       return false;
    }
}
function getFlagInfo(tagid,i){
    var url = tagid + "_" + i + ".htm"
    var xmlhttp=new HttpRequest();
    var loadstatustext="<div class='loading'><img src='images/loading.gif' /> 正在加载内容, 请稍候...</div>";
    getObject(tagid+'_cnt').innerHTML = loadstatustext;
    with(xmlhttp){
        init();
        doSetCallBack(setFlagInfo,tagid);
        doSendResuest(url,"GET",xmlhttp);
    }
}
function setFlagInfo(str,id){
    getObject(id+"_cnt").innerHTML=str;
}
function TabNews(tagid,x){
    for (var i=1;i<=7;i+=2) {
         if (i == x) {
            getObject(tagid+i).className="tabactive"+i;
            if(i!=1){
               getObject(tagid+(i-1)).style.display="none";               
               if(i!=7){
                  getObject(tagid+(i+1)).style.display="none";
               }                 
            }
            if(i==1){
               getObject(tagid+"2").style.display="none";
            }
            try{            
               getFlagInfo(tagid,i);
            }
            catch(e){
               alert(e);
            }  
        }
        else
        {
            getObject(tagid+i).className="";            
            if(i!=7){
               getObject(tagid+(i+1)).style.display="block";
            }            
        }         
   }
}
//-->
style.css
复制内容到剪贴板
代码:
body{ margin: 0;padding: 0;background: #FFF;color: #000;font: normal 12px 宋体,arial,sans-serif;text-align: left;}
div,form,ul,ol,li,span,p {border: 0;margin: 0;padding: 0;}
/*链接样式*/
a:link{color: #000;text-decoration: none;}
a:visited{color: #000;text-decoration: none;}
a:hover{color: #16387C;text-decoration: underline;}
/*清除float*/
.clear{ clear: both; font-size:1px; visibility: hidden; }
/*空格*/
.blank2{font-size: 1px;height: 2px;margin: 0 auto;width: 962px;}
.blank5{font-size: 1px;height: 5px;margin: 0 auto;width: 950px;}
.sblank2{font-size: 1px;height: 2px;margin: 0 auto;width: 100px;}
.sblank3{font-size: 1px;height: 3px;margin: 0 auto;width: 100px;}
.sblank5{font-size: 1px;height: 5px;margin: 0 auto;width: 400px;}
.sblank7{font-size: 1px;height: 7px;margin: 0 auto;width: 400px;}
/*边距*/
.margin-right{margin-right: 6px;}
.margin-right-left{margin-right: 3px; margin-left:3px;}
/*字体颜色*/
.fcborange{color: #F0741A;font: bold 12px arial,sans-serif;}
.fcred{color:#FF0000;}
.fcwhite{color:#FFF;font:normal 13px 宋体,arial,sans-serif;letter-spacing:1px;}
/*新闻标签导航*/
.news_tabsnav{
    background: url(../images/tab_bg.gif) #FFF left top repeat-x;
    border: solid #B0BEC7;
    border-width: 0 1px 0 1px;
    height: 22px;
    margin: 0 auto;
    padding: 0;
    width: 506px;
}
.news_tabsnav .tabsmenu{
    height: 22px;
}
.news_tabsnav .tab_sline {
    padding-top: 3px;
    width: 2px;
}
.news_tabsnav li {
    color: #18397C;
    display: inline;
    float: left;
    font: normal 12px 宋体,arial,sans-serif;
    letter-spacing: 1px;
    list-style-type: none;
    margin: 0;
    padding-top: 4px;
    text-align: center;
    width: 120px;
}
/*导航菜单点击后的样式*/
.news_tabsnav .tabactive1{
    background: url(../images/tab_active1.gif);
    color: #F26400;
    font: bold 12px 宋体,arial,sans-serif;
    height: 18px;
    letter-spacing: 1px;
    padding-top: 4px;
    text-align: center;
    width: 120px;
}
.news_tabsnav .tabactive3{
    background: url(../images/tab_active2.gif);
    color: #F26400;
    font: bold 12px 宋体,arial,sans-serif;
    height: 18px;
    letter-spacing: 1px;
    padding-top: 4px;
    text-align: center;
    width: 120px;
}
.news_tabsnav .tabactive5{
    background: url(../images/tab_active2.gif);
    color: #F26400;
    font: bold 12px 宋体,arial,sans-serif;
    height: 18px;
    letter-spacing: 1px;
    padding-top: 4px;
    text-align: center;
    width: 120px;
}
.news_tabsnav .tabactive7{
    background: url(../images/tab_active2.gif);
    color: #F26400;
    font: bold 12px 宋体,arial,sans-serif;
    height: 18px;
    letter-spacing: 1px;
    padding-top: 4px;
    text-align: center;
    width: 120px;
}
/*最新消息主体*/
.news_content{
    border: solid #B0BEC7;
    border-width: 0 1px 1px 1px;
    margin: 0 auto;
    width: 506px;
}
/*推荐新闻列表*/
.news_list{
    height: 120px;
    margin: 0 auto;
    width: 492px;
}
.news_list img{
    border: 1px solid #9EB1C0;
    float: left;
    height: 115px;
    margin: 0;
    padding: 1px;
    width: 154px;
    cursor: pointer;
}
.news_list .new_top7{
    float: right;
    height: 120px;
    margin: 0;
    width: 325px;
}
.news_list .new_top7 li{
    float: left;
    font: normal 13px 宋体,sans-serif;
    height: 12px;
    letter-spacing: 1px;
    list-style-type: none;
    margin: 0;
    padding: 0 0 5px 0!important;
    padding: 0 0 2px 0;
    width: 322px;
}
.news_list .new_top7 li a:link,a:visited{
    color: #18397C;
}
.news_list .new_top7 li a:hover{
    color: #FF0000;
}
/*LOGO广告*/
.logos{
    margin: 0 auto;
    width: 488px;
    height: 44px;
    padding: 1px !important;
    border: 1px solid #9EB1C0;
}
.logoscnt{
    margin: 0 auto;
    width: 488px;
    height: 31px !important;
    height: 29px;
    padding: 6px 0 7px 0 !important;
    padding: 4px 0 5px 0;
    text-align: center;
    background: url(../images/logos_bg.gif);
}
/*基本信息统计*/
.siteinfo{
    height: 12px;
    letter-spacing: 1px;
    margin: 0 auto;
    padding: 4px 0 4px 0 !important;
    padding: 2px 0 2px 0;
    text-align: center;
    width: 490px;
}
.loading{
   margin:0 auto;
   padding:50px 0 50px 0;
   width:470px;
   text-align:center;
}
复制内容到剪贴板
代码:
<!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=utf-8" />
<title>标签导航</title>
<meta name="Author" content="Robert" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="js/xmlhttprequest.js"></script>
<script language="javascript" type="text/javascript" src="js/function.js"></script>
</head>
<body>
<div class="sblank2"></div>
<div class="news_tabsnav">
               <ul class="tabsmenu">
                  <li class="tabactive1" style="cursor:pointer" id="tab1" onclick="TabNews('tab',1)">推荐信息</li>
                  <li class="tab_sline" style="display:none" id="tab2"><img src="images/tab_sline.gif" alt="分割线" /></li>
                  <li style="cursor:pointer" id="tab3" onclick="TabNews('tab',3)">最新折扣信息</li>
                  <li class="tab_sline" id="tab4"><img src="images/tab_sline.gif" alt="分割线" /></li>
                  <li style="cursor:pointer" id="tab5" onclick="TabNews('tab',5)">最新团够信息</li>
                  <li class="tab_sline" id="tab6"><img src="images/tab_sline.gif" alt="分割线" /></li>
                  <li style="cursor:pointer" id="tab7" onclick="TabNews('tab',7)">最新活动信息</li>
               </ul><div class="clear"></div>      
</div>
<div class="news_content">
                  <div id="tab_cnt">
               <div class="sblank2"></div>
               <div class="news_list">
                    <img src="images/gyy.jpg" alt="推荐图片新闻" width="154" height="115" border="0" />
                    <ul class="new_top7">
                            <li><a href="#">PRG全棉短袖衬衣最后的抢购机抢购机</a> 2006-08-15</li>
                            <li><a href="#">PRG全棉短袖衬衣最后的抢购机抢购机</a> 2006-08-15</li>
                            <li><a href="#">PRG全棉短袖衬衣最后的抢购机抢购机</a> 2006-08-15</li>
                            <li><a href="#">PRG全棉短袖衬衣最后的抢购机抢购机</a> 2006-08-15</li>
                            <li><a href="#">PRG全棉短袖衬衣最后的抢购机抢购机</a> 2006-08-15</li>
                            <li><a href="#">PRG全棉短袖衬衣最后的抢购机抢购机</a> 2006-08-15</li>
                            <li><a href="#">PRG全棉短袖衬衣最后的抢购机抢购机</a> 2006-08-15</li>
                    </ul>
                    <div class="clear"></div>
               </div>
               <div class="sblank2"></div>
               <div class="logos">
                    <div class="logoscnt">
                         <img src="images/clogo.gif" class="margin-right-left" alt="logo" /><img src="images/clogo.gif" class="margin-right-left" alt="logo" /><img src="images/clogo.gif" class="margin-right-left" alt="logo" /><img src="images/clogo.gif" class="margin-right-left" alt="logo" /><img src="images/clogo.gif" class="margin-right-left" alt="logo" />                    
                    </div>
               </div>
               </div>
               <div class="siteinfo">
                  VIP会员共计<span class="fcborange">10200</span>家,今日注册<span class="fcborange">68</span>人,更新<span class="fcborange">5365</span>条信息,当前总在线<span class="fcborange">62400</span>人
               </div>
</div>
<div class="sblank2"></div>
<div class="news_tabsnav">
               <ul class="tabsmenu">
                  <li class="tabactive1" style="cursor:pointer" id="news1" onclick="TabNews('news',1)">华夏资讯推荐</li>
                  <li class="tab_sline" style="display:none" id="news2"><img src="images/tab_sline.gif" alt="分割线" /></li>
                  <li style="cursor:pointer" id="news3" onclick="TabNews('news',3)">华夏动感宝贝</li>
                  <li class="tab_sline" id="news4"><img src="images/tab_sline.gif" alt="分割线" /></li>
                  <li style="cursor:pointer" id="news5" onclick="TabNews('news',5)">华夏动漫世界</li>
                  <li class="tab_sline" id="news6"><img src="images/tab_sline.gif" alt="分割线" /></li>
                  <li style="cursor:pointer" id="news7" onclick="TabNews('news',7)">华夏体育世界</li>
               </ul><div class="clear"></div>      
</div>
<div class="news_content">
                  <div id="news_cnt"><script language="javascript" type="text/javascript">
               <!--
               getFlagInfo("news",1);
               //-->
               </script>
               </div>
               <div class="sblank2"></div>
               <div class="logos">
                    <div class="logoscnt">
                         <img src="images/clogo.gif" class="margin-right-left" alt="logo" /><img src="images/clogo.gif" class="margin-right-left" alt="logo" /><img src="images/clogo.gif" class="margin-right-left" alt="logo" /><img src="images/clogo.gif" class="margin-right-left" alt="logo" /><img src="images/clogo.gif" class="margin-right-left" alt="logo" />                    
                    </div>
               </div>
               </div>
               <div class="siteinfo">
                  VIP会员共计<span class="fcborange">10200</span>家,今日注册<span class="fcborange">68</span>人,更新<span class="fcborange">5365</span>条信息,当前总在线<span class="fcborange">62400</span>人
               </div>
</div>
</body>
</html>

搜索查询面板