国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Tab頁界面,用jQuery及Ajax技術實現

2019-11-17 04:10:20
字體:
來源:轉載
供稿:網友

    從桌面開發的時代開始,Tab頁就是一個優異的界面布局形式,兼有菜單的樣式和充分復用有限的界面的優點。
    到了B/S開發時代,網頁前端布局也把Tab頁的布局形式吸收了過來。特別是和Ajax技術結合起來,可以更充分發揮Tab頁的良好表現力和數據緩存的優勢,是一種良好的網頁布局形式。
    網上的Tab頁代碼很多,實現也大同小異 ,但代碼都顯得凌亂,若要真的用的話,必須費勁的吃透它,才能進行二次定制開發,為我所用。實際上實現這個Tab頁界面非常簡單,僅僅是通過Ajax技術偷偷的獲取信息,然后在一塊區域輪流顯示而已(通過顯示和隱藏層,或復用一個層,輪流向里邊填充Html數據)。
    自己的開發的代碼自己最清楚,用起來也應該最順手,要擴展的話腦子也不犯暈。代碼如下,還在不斷修改中。

    代碼特點:
    1,完全實現Tab邏輯功能,Tab的樣式完全交由前端代碼控制,十分靈活。
    2,使用Ajax技術,數據從服務器端按需取用,改善了前端的界面觀感,提高了頁面的性能。在重新瀏覽器窗口前,所有已經加載的tab頁的數據被緩存在瀏覽器端,不再從服務器端調取,大大節約了網絡帶寬,改善了界面的性能。
    3,tab頁觸發可以根據需要選用click或mouSEOver等事件。
    4,可以配置tab加載后默認觸發的頁。
    5,界面以table布局,只需要配置關鍵對象的 id 即可工作。

<!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>我的Tabs選項卡(Ajax版本)</title>
<style type=”text/CSS”>
  body {font-size:12px; }
  #tab0,#tab1,#tab2 {background:url(images/gray.png); cursor:hand;}
</style>
<script type=”text/javascript” src=”jquery/jquery.js”></script>
<script type=”text/Javascript”>
  $(document).ready(function()
  {
  //————————-
    //tabs 配置信息
    var tabs = [”#tab0″, “#tab1″, “#tab2″]; //tab 數組 id
    var datas = “#div_data”; //顯示區對象的id號
    var event_type = “mouseover”; //觸發事件(click/dblclick/mouseover/focus/…)
    var default_tab = “#tab0″;
    //切換圖片
    var tab_selected_bgimg = “images/green.png”;
    var tab_unselected_bgimg = “images/gray.png”;
    //切換文本顏色
    var tab_selected_txtcolor = “#ff6600″;
    var tab_unselected_txtcolor = “#666666″;
    //
    urls = [
          “my_ajax_server.php?app=tab0″,
          “my_ajax_server.php?app=tab1″,
          “my_ajax_server.php?app=tab2″,
         ]

    //**Begin:固定代碼*********************************
    for (var i=0; i<tabs.length; i++)
    {
      $(tabs[i]).bind(event_type, handler);
    }
    $(default_tab).trigger(event_type);
    //
    function handler()
    {
      //初始化緩存數組
      var localdatas = new Array(); //緩存瀏覽器本次數據
      for (var i=0; i<tabs.length; i++)
      {
        localdatas[i]=”;
      }

      //重置所有tabs
      for (var i=0; i<tabs.length; i++)
      {
        $(tabs[i]).css(”background-image”, “url(”+ tab_unselected_bgimg +”)”);
        $(tabs[i]).css(”color”, tab_unselected_txtcolor);
      }

      var curr_index;
      for(var i=0;i<tabs.length;i++)
      {
        if($(tabs[i]).attr(”id”)==$(this).attr(”id”))
        {
          curr_index = parseInt(i);
        }
      }
      //
      $(this).css(”background-image”, “url(”+ tab_selected_bgimg +”)”);
      $(this).css(”color”, tab_selected_txtcolor);

      if(localdatas[curr_index]==”)
      {
        //ajax獲取數據(默認method=get)
        $.ajax
        ({
          url: urls[curr_index], //后臺處理程序
          cache: false,
          timeout: 20000,
          error:function()
          {
            alert(”error while submitting”);
          },
          success:function(data)
          {
            localdatas[curr_index] = data; //緩存瀏覽器本次數據
            $(datas).html(data);
          }
        });
      }
      else
      { //顯示緩存數據
        $(datas).html(datas[curr_index]);
      }
    }
    //**End:固定代碼*********************************
  //—————–
  });

</script>
</head>

<body>
<table border=”0″ width=”500″ height=”25″ border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″>
<tr>
  <td width=”97″ id=”tab0″>tab0</td>
  <td width=”30″></td>
  <td width=”97″ id=”tab1″>tab1</td>
  <td width=”30″></td>
  <td width=”97″ id=”tab2″>tab2</td>
  <td width=”149″></td>
</tr>
</table>

<table border=”1″ width=”500″ height=”60″ border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″>
<tr>
  <td>
    <div id=”div_data”></div>
  </td>
</tr>
</table>

</body>
</html>

my_ajax_server.php文件:

<?php
  /*******************************************
  * File: my_ajax_server.php
  ********************************************/

  error_reporting(7);
  set_magic_quotes_runtime(0);

  $app = $_GET[’app’];

  switch ($app)
  {
    case “tab0″:  //
?>
from TAB0
<?php
      break;

    case “tab1″:  //
?>
from TAB1
<?php
      break;

    case “tab2″:  //
?>
from TAB2
<?php
      break;

    default:
      echo ‘my_ajax_server.php error.’;
      break;
  }
?>

張慶(網眼) 2009-9-18


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岚皋县| 三江| 葫芦岛市| 冷水江市| 秦安县| 丹棱县| 安福县| 德庆县| 淮安市| 丹江口市| 建湖县| 扶风县| 额济纳旗| 自贡市| 汾阳市| 馆陶县| 和林格尔县| 龙胜| 喀喇| 莎车县| 织金县| 科技| 肃北| 黄陵县| 上林县| 格尔木市| 徐水县| 剑川县| 封丘县| 固阳县| 望城县| 泾源县| 阿巴嘎旗| 青川县| 威远县| 郴州市| 常山县| 炉霍县| 忻州市| 苏尼特左旗| 视频|