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


Posted in Javascript onOctober 12, 2011

网上的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; 
} 
?>
Javascript 相关文章推荐
用 javascript 实现的点击复制代码
Mar 24 Javascript
使用jquery给input和textarea设定ie中的focus
May 29 Javascript
jquery解析xml字符串简单示例
Apr 11 Javascript
Javascript中的方法和匿名方法实例详解
Jun 13 Javascript
JavaScript中浅讲ajax图文详解
Nov 11 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
Nov 20 Javascript
jQuery页面弹出框实现文件上传
Feb 09 Javascript
uploader秒传图片到服务器完整代码
Apr 22 Javascript
简述jQuery Easyui一些用法
Aug 01 jQuery
js实现手机web图片左右滑动效果
Dec 29 Javascript
layui lay-verify form表单自定义验证规则详解
Sep 18 Javascript
webpack.DefinePlugin与cross-env区别详解
Feb 23 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
Oct 12 #Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
Oct 11 #Javascript
推荐10个超棒的jQuery工具提示插件
Oct 11 #Javascript
namespace.js Javascript的命名空间库
Oct 11 #Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
Oct 10 #Javascript
jquery.tmpl JQuery模板插件
Oct 10 #Javascript
brook javascript框架介绍
Oct 10 #Javascript
You might like
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
PHP获取当前所在目录位置的方法
2014/11/26 PHP
php中的登陆login实例代码
2016/06/20 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
2013/03/26 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
Python线性回归实战分析
2018/02/01 Python
Python中偏函数用法示例
2018/06/07 Python
python调用外部程序的实操步骤
2019/03/04 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
python3将变量输入的简单实例
2020/08/19 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
数控专业个人求职信范例
2013/11/29 职场文书
护理不良事件检讨书
2014/02/06 职场文书
教师对学生的评语
2014/04/28 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
先进教师事迹材料
2014/12/16 职场文书
大学生村官工作总结2015
2015/04/09 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
使用python创建股票的时间序列可视化分析
2022/03/03 Python