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 相关文章推荐
javascript vvorld 在线加密破解方法
Nov 13 Javascript
jQuery 源码分析笔记(3) Deferred机制
Jun 19 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
JavaScript数据存储 Cookie篇
Jul 02 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
Aug 05 Javascript
jQuery展示表格点击变色、全选、删除
Jan 05 Javascript
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
Feb 26 Javascript
JS返回页面时自动回滚到历史浏览位置
Sep 26 Javascript
layui表格 列自动适应大小失效的解决方法
Sep 06 Javascript
highcharts.js数据绑定方式代码实例
Nov 13 Javascript
Ant-design-vue Table组件customRow属性的使用说明
Oct 28 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
JavaScript While 循环基础教程
2007/04/05 Javascript
ext for eclipse插件安装方法
2008/04/27 Javascript
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
Linux下编译安装MySQL-Python教程
2015/02/02 Python
python开发之字符串string操作方法实例详解
2015/11/12 Python
Python实现简单多线程任务队列
2016/02/27 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
python远程连接服务器MySQL数据库
2018/07/02 Python
什么是Python中的匿名函数
2020/06/02 Python
Python如何给函数库增加日志功能
2020/08/04 Python
css3之UI元素状态伪类选择器实例演示
2017/08/11 HTML / CSS
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
亿企通软件测试面试题
2012/04/10 面试题
给老婆的搞笑检讨书
2014/01/12 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
2015双创工作总结
2015/07/24 职场文书
4种非常实用的python内置数据结构
2021/04/28 Python