麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Tab頁(yè)界面,用jQuery及Ajax技術(shù)實(shí)現(xiàn)

2019-11-17 04:10:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

    代碼特點(diǎn):
    1,完全實(shí)現(xiàn)Tab邏輯功能,Tab的樣式完全交由前端代碼控制,十分靈活。
    2,使用Ajax技術(shù),數(shù)據(jù)從服務(wù)器端按需取用,改善了前端的界面觀感,提高了頁(yè)面的性能。在重新瀏覽器窗口前,所有已經(jīng)加載的tab頁(yè)的數(shù)據(jù)被緩存在瀏覽器端,不再?gòu)姆?wù)器端調(diào)取,大大節(jié)約了網(wǎng)絡(luò)帶寬,改善了界面的性能。
    3,tab頁(yè)觸發(fā)可以根據(jù)需要選用click或mouSEOver等事件。
    4,可以配置tab加載后默認(rèn)觸發(fā)的頁(yè)。
    5,界面以table布局,只需要配置關(guān)鍵對(duì)象的 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選項(xiàng)卡(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 數(shù)組 id
    var datas = “#div_data”; //顯示區(qū)對(duì)象的id號(hào)
    var event_type = “mouseover”; //觸發(fā)事件(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()
    {
      //初始化緩存數(shù)組
      var localdatas = new Array(); //緩存瀏覽器本次數(shù)據(jù)
      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獲取數(shù)據(jù)(默認(rèn)method=get)
        $.ajax
        ({
          url: urls[curr_index], //后臺(tái)處理程序
          cache: false,
          timeout: 20000,
          error:function()
          {
            alert(”error while submitting”);
          },
          success:function(data)
          {
            localdatas[curr_index] = data; //緩存瀏覽器本次數(shù)據(jù)
            $(datas).html(data);
          }
        });
      }
      else
      { //顯示緩存數(shù)據(jù)
        $(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;
  }
?>

張慶(網(wǎng)眼) 2009-9-18


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品一区免费在线观看 | 免费在线观看国产精品 | 2019天天干夜夜操 | 国产精品一区在线观看 | 视频一区二区三区在线播放 | 精品亚洲va在线va天堂资源站 | 免费a级作爱片免费观看欧洲 | 欧美a∨一区二区三区久久黄 | 国产视频在线观看免费 | 一区二区三区国产视频 | 免费黄色小网站 | 国产精品久久久久久久av | 久草热久 | 久色伊人 | 一级视频在线播放 | 国产羞羞网站 | 91精品老司机 | 羞羞漫画无遮挡观看 | 91午夜视频| 最近免费观看高清韩国日本大全 | 成人免费av在线 | 国产精品视频亚洲 | 天天草夜夜爽 | 极品大长腿啪啪高潮露脸 | 久久国产一级 | 成人一级黄色大片 | 污片视频网站 | 精品国产呦系列在线看 | 在线高清中文字幕 | 国产一区二区精品在线观看 | 久久国产精品久久久久久电车 | 日本视频网| 一级做a爰片性色毛片2021 | 精品一区二区三区在线观看视频 | 天天干天天透 | 久艹在线视频 | 久久91精品 | 毛片大全在线观看 | 中文字幕极速在线观看 | 国产成人精品午夜视频' | 久久久久亚洲精品国产 |