JQuery标签页效果的两个实例讲解(4)


Posted in Javascript onSeptember 17, 2015

按照惯例,我们还是先来看一下最终要达到效果图:

JQuery标签页效果的两个实例讲解(4)

和上一个菜单效果类似,当鼠标移动到标签上的时候,下面会显示相应的内容。当然,同样存在滑动门的问题。 
前台页面的代码:

<%@ 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-1.9.1.min.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> 
  </form> 
</body> 
</html>

tab.css

ul,li 
{ 
  list-style:none; 
  margin:0; 
  padding:0; 
  } 
li 
{ 
  background-color:#6E6E6E; 
  float:left; 
  color:White; 
  padding:5px; 
  margin-right:3px;  
  border: 1px solid white;   
  } 
.tabin 
{ 
  border:1px solid #6E6E6E; 
  } 
#firstDiv div 
{ 
  clear:left; 
  background-color:#6E6E6E; 
  width:200px; 
  height:100px; 
  display:none; 
  } 
#firstDiv .contentin 
{ 
  display:block; 
  }

tab.js

/// <reference path="jquery-1.9.1.min.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); 
    }); 
  }); 
});

我们最终实现的效果如图所示:

JQuery标签页效果的两个实例讲解(4)

当单击标签一的时候,下面加载的是一个html的全部内容;当单击标签二的时候,下面加载的是一个asp.net页面的一部分内容,标签三未添加效果。
 页面前台的代码如图:

<%@ 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

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

/// <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); 
  }); 
});

在这里,我想提一下,就是我开始的时候,用的是jquery-1.9.1.min.js,但是在绑定ajax事件的时候,无法绑定,可以绑定click事件。
所以,我建议大家不要用最新版的jquery,避免出现一些莫名其妙的问题。 
以上两种标签页效果,希望小编整理的这篇文章可以帮助到大家。  

Javascript 相关文章推荐
鼠标滑过出现预览的大图提示效果
Feb 26 Javascript
Node.js插件的正确编写方式
Aug 03 Javascript
jQuery找出网页上最高元素的方法
Mar 20 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
Aug 29 Javascript
微信小程序(应用号)简单实例应用及实例详解
Sep 26 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
vue中引用阿里字体图标的方法
Feb 10 Javascript
vue如何安装使用Quill富文本编辑器
Sep 21 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
Jan 16 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
Feb 06 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
Aug 03 Javascript
在antd Form表单中select设置初始值操作
Nov 02 Javascript
JS实现具备延时功能的滑动门菜单效果
Sep 17 #Javascript
JQuery菜单效果的两个实例讲解(3)
Sep 17 #Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 #Javascript
JQuery入门基础小实例(1)
Sep 17 #Javascript
JQuery实现级联下拉框效果实例讲解
Sep 17 #Javascript
JS+CSS实现精美的二级导航效果代码
Sep 17 #Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
Sep 17 #Javascript
You might like
WHOIS类的修改版
2006/10/09 PHP
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
js操作select控件的几种方法
2010/06/02 Javascript
Javascript对象属性方法汇总
2013/11/21 Javascript
JS中Location使用详解
2015/05/12 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
用Python进行TCP网络编程的教程
2015/04/29 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
django和vue实现数据交互的方法
2019/08/21 Python
python实现超级马里奥
2020/03/18 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
综合实践活动方案
2014/02/14 职场文书
我的生日感言
2015/08/03 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
财务人员廉洁自律心得体会
2016/01/13 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python
使用Python拟合函数曲线
2022/04/14 Python