JAVA & XML & JAVASCRIPT & AJAX & CSS

          Web 2.0 技術(shù)儲(chǔ)備............

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            77 隨筆 :: 17 文章 :: 116 評(píng)論 :: 0 Trackbacks

          很久沒(méi)在Blog上寫(xiě)點(diǎn)東西了,最近因?yàn)轫?xiàng)目需求,自己就寫(xiě)了個(gè)類似瀏覽器效果的Tab控件.
          現(xiàn)在給大家分享下,呵呵。希望對(duì)大家有所幫助。如有問(wèn)題歡迎EMAIL:fantasycs@163.com

          效果圖:



          Demo和代碼下載:

          Tab源代碼和DEMO下載 BUG FIXED 2010.04.08

          使用實(shí)例:

          <!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=gbk" />
          <link href="tab.css" rel="stylesheet" type="text/css" />
          <script type="text/javascript" src="jquery-1.4.min.js"></script>
          <script type="text/javascript" src="tab.js"></script>
          <script type="text/javascript">
          // 測(cè)試數(shù)據(jù)
          window.options = [
          {id:
          "1",name:"BlogJava",lock:true,url:"http://www.aygfsteel.com/fantasy",title:"BlogJava-中國(guó)最大的搜索引擎",frame:{name:'BlogFrame',style:'width:100%;height:100%'}},
          {id:
          "2",name:"愛(ài)問(wèn)-中國(guó)最大的搜索引擎",lock:false,url:"http://iask.com/",title:"愛(ài)問(wèn)-中國(guó)最大的搜索引擎"},
          {id:
          "3",name:"搜樂(lè)-中國(guó)最大的搜索引擎",lock:false,url:"http://www.sooule.com/",title:"搜樂(lè)-中國(guó)最大的搜索引擎"},
          {id:
          "4",name:"搜狗",lock:false,url:"http://www.sogou.cn",title:"搜狗-中國(guó)最大的搜索引擎"},
          {id:
          "5",name:"百度",lock:true,url:"http://www.baidu.com",title:"百度-中國(guó)最大的搜索引擎"},
          {id:
          "6",name:"谷歌",lock:true,url:"http://www.google.com",title:"谷歌-中國(guó)最大的搜索引擎"},
          {id:
          "7",name:"搜搜",lock:false,url:"http://www.soso.com",title:"搜搜-中國(guó)最大的搜索引擎"},
          {id:
          "8",name:"必應(yīng)",lock:true,url:"http://cn.bing.com/",title:"必應(yīng)-中國(guó)最大的搜索引擎"}];
          // 新增
          var add = function(i){
              tab.add(window.options[i]);
          };
          // 解鎖與鎖定
          var lock = function( isLock ){
              tab.lock(
          "1",isLock);
          };
          // 關(guān)閉
          var remove = function( id ){
              tab.close(id);
          };

          // 移動(dòng)
          var move = function( state ){
              tab.move({action:state});
          };

          jQuery( 
          function(){
              
          var option = {tabID:"Tabs",frameID:"Frames",activeClass:"on",lockClass:"locked",leftID:"Left",
              rightID:
          "Right",resetID:"Reset",closeID:"Close"};
              window.tab 
          = FantasyTab.create(option);
              window.tab.add(window.options[
          0]);
          });
          </script>
          </head>
          <body>
          <fieldset>
          測(cè)試按鈕
          <input type="button" value="愛(ài)問(wèn)" onclick="add(1)" />
          <input type="button" value="搜樂(lè)" onclick="add(2)" />
          <input type="button" value="搜狗" onclick="add(3)" />
          <input type="button" value="百度" onclick="add(4)" />
          <input type="button" value="谷歌" onclick="add(5)" />
          <input type="button" value="搜搜" onclick="add(6)" />
          <input type="button" value="必應(yīng)" onclick="add(7)" />
          <input type="button" value="解鎖Blog" onclick="lock(false)" />
          <input type="button" value="鎖定Blog" onclick="lock(true)" />
          <input type="button" value="關(guān)閉Blog" onclick="remove(1)" />
          <input type="button" value="左移" onclick="move('left')" />
          <input type="button" value="右移" onclick="move('right')" />
          <input type="button" value="復(fù)位" onclick="move('reset')" />
          </fieldset>
          <div id="TabMain">
              
          <div class="c_tabNav"><div class="tabNavWrapper">
                  
          <div class="tabTurner">
                      
          <ul>
                          
          <li><id="Left" href="#" title="左移標(biāo)簽組" class="left"></a></li>
                          
          <li><id="Right" href="#" title="右移標(biāo)簽組" class="right"></a></li>
                          
          <li><id="Reset" href="#" title="復(fù)位標(biāo)簽組" class="default"></a></li>
                          
          <li><id="Close" href="#" title="全部關(guān)閉" class="close"></a></li>
                      
          </ul>
                  
          </div>
                  
          <div><div class="tab"><div class="maxWidth">
                      
          <!-- 這里存放生成的Tab-->
                      
          <ul id="Tabs"></ul>
                  
          </div></div></div>
              
          </div>
              
          </div>
          </div>
          <!-- 這里存放生成的IFrame 只要ID='Frames'就可以,可以根據(jù)布局自己定義-->
          <div id="Frames" style="height:768px">
          </div>
          </body>
          </html>


          posted on 2010-04-25 14:08 Web 2.0 技術(shù)資源 閱讀(4899) 評(píng)論(19)  編輯  收藏 所屬分類: AJAXJavascript原創(chuàng)作品HTML

          評(píng)論

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-04-25 15:22 Hello
          挺不錯(cuò)的~祝你找到好工作~  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-04-25 16:15 咖啡妝
          @Hello
          jquery確實(shí)不錯(cuò)  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-04-25 23:50 Andy-software
          確實(shí)不錯(cuò)哦,贊一個(gè)  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-04-28 18:13 hopesfish
          其實(shí)div層不用寫(xiě)的那么多...  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-04-28 18:13 hopesfish
          div層不用寫(xiě)那么多...使用者很郁悶的  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-04-28 20:43 fantasy
          @hopesfish
          我想更簡(jiǎn)單啊,我是根據(jù)美工設(shè)計(jì)的圖稿來(lái)做的呵呵。  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-07-12 10:07 余如水
          真的太好了!  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-07-12 10:18 Web 2.0 技術(shù)資源
          @余如水
          給我找個(gè)工作嘛~~  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-09-02 11:05 支持
          雖然用的是JQ,但是能把它發(fā)揚(yáng)光大也算是一種原創(chuàng)吧  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2010-10-23 10:30 osalee
          有個(gè)問(wèn)題,就是生成的iframe不能高度自適應(yīng)呀?
          <div id="Frames" style="height:768px">
          這個(gè)固定高度總是不太適合呀,因?yàn)槊總€(gè)的瀏覽高度可能不一樣。
          你覺(jué)得呢?  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2011-01-26 11:51 rrrrr
          想刷新里面的界面怎么辦  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2011-01-26 23:18 fantasy
          @rrrrr

          在tab.js中新增加個(gè)方法


          加到 AbstractTab.loadFrame = function(){}后面吧。

          // 刷新Tab對(duì)應(yīng)的Frame
          AbstractTab.refresh = function( id ){
          var frameId = this.getFrameID(id);
          var src = jQuery("#" + frameId ).attr("src");
          var isSimple = src.indexOf("?") < 0;
          var now = new Date().getTime();
          var newSrc = src + (isSimple ? "?" : "&") + now;
          jQuery("#" + frameId).attr("src",newSrc);
          };

          使用說(shuō)明:
          tab.refresh(ID);
          tab.refresh(1) 刷新BlogJava  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2011-05-23 10:48 麥胖
          非常不錯(cuò)的控件,我在網(wǎng)上找了很久才找到這個(gè)滿意的。謝謝作者的付出。

          另外,我在你的基礎(chǔ)上修改了點(diǎn)東西:
          1、refresh 方法,我增加了判斷,如果刷新的窗口不存在就返回false,如果存在而且沒(méi)有被選中,就選中。
          2、把刷新方法增加了一個(gè)小ICO到關(guān)閉的前面(沒(méi)選中的時(shí)候沒(méi)刷新ico),這樣可以方便隨時(shí)刷新某個(gè)tab。  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2011-05-23 11:15 Web 2.0 技術(shù)資源
          @麥胖
          呵呵,謝謝贊賞。
          請(qǐng)把你修改后的代碼發(fā)到的郵箱 wellse@qq.com 我看下。  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2011-06-03 09:33 alight
          IE可以看到效果,可Goole瀏覽器,火弧看到的是源代碼呢?  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2011-06-17 12:33 think8848
          非常感謝博主的分享啊  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2012-02-08 18:11 szm
          不錯(cuò),正在看  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2012-02-15 14:16 WE
          支持  回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]自己封裝了個(gè)Tab標(biāo)簽控件,效果和瀏覽器一樣。 2012-12-06 09:31 remixooo
          這個(gè)東西有內(nèi)存泄露~~~  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 辰溪县| 吴川市| 密云县| 牙克石市| 方山县| 北流市| 略阳县| 海原县| 绥中县| 鹤山市| 武陟县| 孟州市| 金湖县| 阿拉善右旗| 文登市| 郴州市| 遵化市| 龙山县| 多伦县| 县级市| 昆山市| 星座| 呼玛县| 西青区| 罗定市| 门源| 黄梅县| 渭南市| 康保县| 汾西县| 界首市| 恩施市| 南溪县| 会宁县| 和平区| 鄯善县| 龙里县| 清镇市| 龙海市| 敖汉旗| 汉中市|