`
txf2004
  • 浏览: 6868953 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tab页界面,用jQuery及Ajax技术实现

阅读更多

从桌面开发的时代开始,Tab页就是一个优异的界面布局形式,兼有菜单的样式和充分复用有限的界面的优点。
到了B/S开发时代,网页前端布局也把Tab页的布局形式吸收了过来。特别是和Ajax技术结合起来,可以更充分发挥Tab页的良好表现力和数据缓存的优势,是一种良好的网页布局形式。
网上的Tab页代码很多,实现也大同小异 ,但代码都显得凌乱,若要真的用的话,必须费劲的吃透它,才能进行二次定制开发,为我所用。实际上实现这个Tab页界面非常简单,仅仅是通过Ajax技术偷偷的获取信息,然后在一块区域轮流显示而已(通过显示和隐藏层,或复用一个层,轮流向里边填充Html数据)。
自己的开发的代码自己最清楚,用起来也应该最顺手,要扩展的话脑子也不犯晕。代码如下,还在不断修改中。

<!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” src=”class.js”></script>
<script type=”text/javascript” src=”my_ajax_tabs.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
来自“网眼视界”:http://blog.why100000.com
“十万个为什么”电脑学习网:http://www.why100000.com

分享到:
评论

相关推荐

    Tab页界面 用jQuery及Ajax技术实现(php后台)

    实际上实现这个Tab页界面非常简单,仅仅是通过Ajax技术偷偷的获取信息,然后在一块区域轮流显示而已(通过显示和隐藏层,或复用一个层,轮流向里边填充Html数据)。 自己的开发的代码自己最清楚,用起来也应该最顺手,...

    用jQuery技术实现Tab页界面之二

    这是第二篇文章,第一篇可以参考Tab页界面,用jQuery及Ajax技术实现代码特点: 1,完全实现Tab逻辑功能,Tab的样式完全交由前端代码控制,很灵活。 2,tab页触发事件是click。 3,界面以table布局,只需要配置关键...

    jquery ui 后台界面演示系统 登陆界面

    • 集成了jQuery UI的风琴盒、页标签特效、ajaxForm表单递交和validate表单验证功能,无需程序员学习这些功能,按常规方式编程即可自动调用。 • 保持了与jqueryui的完全兼容,可以自行前往www.jqueryui.com网站下载...

    超实用的jQuery代码段

    《超实用的jQuery代码段》的代码跨平台、跨设备、跨浏览器,充分向读者演示了如何使用jQuery的各项技术,实现令人激动的网页效果。   《超实用的jQuery代码段》从jQuery框架的使用原理与应用场景出发,对最实用的...

    JQuery&CSS;&CSS;+DIV实例大全.rar

    5.jQuery实现flash动感切换选项卡TAB插件示例 6.jquery制作自动播放的TAB切换特效 7.基于jQuery简单的Tab滑动门菜单代码(jQuery MoveTab) 8.简单jquery选项卡插件下载(支持鼠标移上切换、点击切换、Ajax方式...

    jquery ui 后台界面演示系统 v0.1.rar

    • 集成了jQuery UI的风琴盒、页标签特效、ajaxForm表单递交和validate表单验证功能,无需程序员学习这些功能,按常规方式编程即可自动调用。 • 保持了与jqueryui的完全兼容,可以自行前往www.jqueryui.com网站...

    layUI ajax加载html页面后重新渲染的方法

    1、layUI使用jquery.load加载界面时,如何让layui渲染页面? 2、layUI ajax加载html页面后重新渲染 layUI ajax加载html页面后渲染,关键在将html插到指定位置后重新调用element.init();渲染 $.ajax({ url : url, ...

    jQuery EasyUI 实例演示(菜单、TAB等)

    内容索引:脚本资源,jQuery,jQuery例子,EasyUI jQuery EasyUI 一些实例演示,包括折叠或展开菜单、TAB菜单等,界面有点像EXTJS的风格,这些实例由疯狂秀才  个人所作,版本已更新至1.1版,这一次更新解决了FF下因...

    jQueryUI标准后台页面

    4.如果$tab中url指向的文件中需要包含表单,按常规写法即可,无需特殊代码即可自动以ajax方式递交 5.如果表单需要ajax方式验证,可以给相应的表单项添加class,可参见systemsetting.php和address.php文件,也可自行...

    日租房网站源码20140122

    房屋详细信息页面,采用minijquery实现TAB无刷新页面显示图片,地图,设施,评论信息。 房间发布采用51图灵地图进行房间定位,获取经纬度。SWFUpload批量图片上传。无刷新表单判断采用js提示,界面美观,从服务器...

    电子商城网站

    房屋详细信息页面,采用minijquery实现TAB无刷新页面显示图片,地图,设施,评论信息。 房间发布采用51图灵地图进行房间定位,获取经纬度。SWFUpload批量图片上传。无刷新表单判断采用js提示,界面美观,从服务器...

    Metronic v1.5.4

    Metronic 拥有简洁优雅的 Metro UI 风格界面,6 种颜色可选,115个模板页面,65个JQuery插件,包括图表、表格、地图、消息中心、监控面板等后台管理项目所需的各种组件,完美兼容IE8等各种浏览器。手机,平板,电脑...

    50个实用的JavaScript工具

    包含了许多的界面操作功能,如我们常用的表格排序,拖拽,TAB选项卡,滚动条,相册浏览,日历控件,对话框等JS插件…Google推出的一个开发Ajax应用的框架,它支持用Java开发和调试Ajax应用。我们可以既充分利用Java...

    基于jQuery的图片滚动切换插件

    内容索引:脚本资源,jQuery,AnythingSlider,图片滚动 AnythingSlider 是一款基于jQuery的图片滚动切换...它可以滚动HTML网页内容、图文混排内容、Flash文档等,适时使用Tab切换,界面设计精美,值得一用的图片特效。

    UniGUI 说明

    13. 用 ExtEvent 打开链接和下载文件 ................................................................................. 17 14. WebApplication 显示对话框 .....................................................

Global site tag (gtag.js) - Google Analytics