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

2016-02-19 15:08 11 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐Tab页界面用jQuery及Ajax技术实现,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - Web开发 】

到了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; itabs.length; i++)
{
$(tabs[i]).bind(event_type, handler);
}
$(default_tab).trigger(event_type);
//
function handler()
{
//初始化缓存数组
var localdatas = new Array(); //缓存浏览器本次数据
for (var i=0; itabs.length; i++)
{
localdatas[i]=”;
}
//重置所有tabs
for (var i=0; itabs.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;itabs.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

来源:https://www.tulaoshi.com/n/20160219/1608966.html

延伸阅读
标签: Web开发
我所举的这个例子是一个企业用户注册时的一个应用,当用户注册时检查用户名和企业名是否可用,以前的做法是在旁边加一个按钮,点击“检查”,就向服务器发出请求,然后等待……服务器返回信息,继续操作。如果我们用Ajax技术来实现以上的操作则不必等待服务器返回信息,用户输入用户名或企业名称的时候,当输入文本框失去焦点的时候,则会...
标签: Web开发
传统ajax Code 代码如下: script language="javascript" var xmlHttp; function createXMLHttpRequest(){ if(window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); else if(window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); } function startRequest(){ createXMLHttpRequest(); xmlHttp.open("GET...
标签: Web开发
提要 实时的数据校验是AJAX技术的重要优点之一,Struts校验框架通过加入这种技术进一步丰富了其MVC,从而使得Web应用程序的开发效果更接近于桌面应用程序。 一、 引言 校验框架的根本目的是实现域校验。在Web应用程序中有许多方法可以实现域校验,总体上可以分为两类:服务器端和客户端。其中,Struts校验框架是适合于基于Java的...
标签: Web开发
使用 jquery 框架:下载 jquery.js 新建一个 web 工程 ajax ; 在 webRoot 下新建一个 jslib 文件夹:专门存放 js 文件; 在 webRoot 下新建一个 html/jsp 页面: login.html 代码如下: script type = "text/javascript" src = "jslib/jquery.js"/ script script type = "text/javascript" src = "jslib/verify.js"/ script / head b...
标签: PHP
概述 实话实说,创建一个聊天的程序不是一个很艰难的程序! 写这篇文章的目的是教你一步一步地用XML作为传输载体来创建一个轻量级的聊天程序。这是一个很有趣的应用,而我写这篇文章的动机也是来自于我平时很喜欢PHP。同时,通过业余时间的钻研,我发现通过Web提供了一个稳定的论坛以后,人们往往希望通过Web能够时间即时的聊天室。这...

经验教程

739

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部