频道栏目
首页 > 资讯 > JavaScript > 正文

JQuery学习——标签页效果二

13-03-22        来源:[db:作者]  
收藏   我要投稿
 我们最终实现的效果如图所示:
当单击标签一的时候,下面加载的是一个html的全部内容;当单击标签二的时候,下面加载的是一个asp.net页面的一部分内容,标签三未添加效果。
 
页面前台的代码如图:
[html] 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="tab.aspx.cs" Inherits="tab" %>  
  
<!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 runat="server">  
    <title></title>  
    <link href="css/tab.css" rel="stylesheet" type="text/css" />  
    <script src="js/jquery.js" type="text/javascript"></script>  
    <script src="js/tab.js" type="text/javascript"></script>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div id="firstDiv">  
        <ul>  
            <li class="tabin">标签一</li>  
            <li>标签二</li>  
            <li>标签三</li>  
        </ul>  
        <div class="contentin">  
            我是标签一的内容</div>  
        <div>  
            我是标签二的内容</div>  
        <div>  
            我是标签三的内容</div>  
    </div>  
    <br />  
    <br />  
    <br />  
    <div id="secondDiv">  
        <ul>  
            <li class="tabin">标签一</li>  
            <li>标签二</li>  
            <li>标签三</li>  
        </ul>  
        <div id="secondContentin">  
            <img alt="装载中" src="images/img-loading.gif" />  
            <div id="realContentin"></div>  
        </div>  
    </div>  
    </form>  
</body>  
</html>  
 
tab.css
[css]  
ul,li  
{  
    list-style:none;  
    margin:0;  
    padding:0;  
    }  
#firstDiv li  
{  
    background-color:#6E6E6E;  
    float:left;  
    color:White;  
    padding:5px;  
    margin-right:3px;   
    border: 1px solid white;     
    }  
#firstDiv .tabin  
{  
    border:1px solid #6E6E6E;  
    }  
#firstDiv div  
{  
    clear:left;  
    background-color:#6E6E6E;  
    width:200px;  
    height:100px;  
    display:none;  
    }  
#firstDiv .contentin  
{  
    display:block;  
    }  
   
      
#secondDiv li  
{  
    float:left;  
    color:Blue;  
    background-color:White;  
    padding:5px;  
    margin-right:3px;  
    /*当鼠标放在标签上时,显示成小手*/  
    cursor:pointer;  
    }  
#secondDiv li.tabin  
{  
    background-color:#F2F6F8;  
    border:1px solid black;  
    border-bottom:0;  
    /*只有position设置成relative或者absolute的时候z-index才有效*/  
    position:relative;  
    z-index:100;  
    }  
#secondContentin  
{  
    width:300px;  
    height:200px;  
    padding:10px;  
    background-color:#F2F6F8;  
    clear:left;  
    border:1px solid black;  
    /*下面是让底下的内容向上移动一个像素 
    *但是,我们可以看到,并没有达到我们想要的效果,接下 
    *来要上上面的li显示层次在最上面,这样就盖住了下面的div的border 
    */  
    position:relative;  
    top:-1px;  
    }  
/*开始的时候让loading图片隐藏*/  
img  
{  
    display:none;  
    }  
 
关于z-index的问题,注释上有说明,下面的截图是我截的js手册上的内容:
tab.js
[javascript] 
/// <reference path="jquery.js" />  
  
$(document).ready(function () {  
  
    var setTimeouId;  
  
    $("#firstDiv li").each(function (index) {  
        $(this).mouseover(function () {  
            var nodeTabin = $(this);  
            setTimeouId = setTimeout(function () {  
                $("#firstDiv .contentin").removeClass("contentin");  
                $("#firstDiv .tabin").removeClass("tabin");  
  
                $("#firstDiv div").eq(index).addClass("contentin");  
                //我在这里犯错了哦,不应该再用this  this如果用在这里的话那么是指的window  
                nodeTabin.addClass("tabin");  
            }, 300);  
        }).mouseout(function () {  
            clearTimeout(setTimeouId);  
        });  
    });  
  
    $("#realContentin").load("HTMLPage.htm");  
    $("#secondDiv li").each(function (index) {  
        $(this).click(function () {  
            /*更改样式*/  
            $("#secondDiv li.tabin").removeClass("tabin");  
            $(this).addClass("tabin");  
  
            if (index == 0) {  
                $("#realContentin").load("HTMLPage.htm");  
            } else if (index == 1) {  
                $("#realContentin").load("Default.aspx div");  
            } else if (index == 2) {  
  
            }  
        });  
    });  
  
    //我刚开始的时候用的是jquery的最新版本,但是出现了无法绑定的问题。  
    $("#secondContentin img").bind("ajaxStart", function () {  
        $(this).show();  
    }).bind("ajaxStop", function () {  
        //setTimeout(function(){$(this).hide()},300);  
        $(this).hide(1000);  
    });  
});  
  
  
  
  
   
 
相关TAG标签
上一篇:SQL按时间段进行分组统计
下一篇:oracle exp/imp数据备份
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站