Tab頁介面,用jQuery及Ajax技術實現
從桌面開發的時代開始,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;
}
?>
本文轉自網眼51CTO部落格,原文連結:http://blog.51cto.com/itwatch/286442,如需轉載請自行聯絡原作者
相關文章
- 用CSS實現Tab頁切換效果CSS
- 安卓仿微信Tab頁用Fragment實現安卓Fragment
- 利用jQuery實現Tab選項卡jQuery
- jQuery如何實現tab選項卡效果jQuery
- KKB : Jquery實現Ajax請求jQuery
- 淺析Ajax跨域原理及JQuery中的實現分析跨域jQuery
- Ajax 學習手記 Jquery實現jQuery
- 使用LayUI實現AJAX分頁UI
- Flutter實現動畫卡片式Tab導航 | 掘金技術徵文Flutter動畫
- Ajax技術~~
- JQuery ajax方法及引數jQuery
- jQuery Ajax 跨域前端實現登入jQuery跨域前端
- 雅蛙網ajax特效jQuery實現方法特效jQuery
- Vue路由+Tab元件實現多頁籤功能Vue路由元件
- 用純css實現Tab切換CSS
- Ajax的技術核心實現動態無重新整理
- jQuery實現的tab選項卡程式碼例項jQuery
- jquery寫的ajax分頁外掛jQuery
- AJAX核心技術
- 反向ajax技術
- ajax實現頁面非同步載入非同步
- Ajax 實現無重新整理分頁
- .net中ajax技術實現(自我總結,也許不對)
- 使用 jQuery 實現分頁功能jQuery
- jQuery入門(六)jQuery實現瀑布分頁jQuery
- [貝聊科技]網頁端「應用跳轉」技術實現演變網頁
- jQuery 使用ajax,並重新整理頁面jQuery
- Thinkphp5框架ajax介面實現方法分析PHP框架
- json,ajax技術JSON
- AJAX技術介紹
- 【ajax】 html js jquery ajax上傳檔案【一眼就會】【實用】HTMLJSjQuery
- jQuery入門(七)jQuery實現按鈕分頁jQuery
- ajax 實現微信網頁授權登入網頁
- iOS程式設計師利用分頁和模糊查詢技術實現一個App介面iOS程式設計師APP
- 根據JavaScript中原生的XMLHttpRequest實現jQuery的AjaxJavaScriptXMLHTTPjQuery
- jQuery AjaxjQuery
- jQuery - AJAXjQuery
- 8個實用的頁面佈局和使用者介面jQuery外掛jQuery