tab栏切换的特殊效果
在实际的开发过程中,我们可能会遇到这种需求,如下图
左边是三个tab栏,右边是显示内容的div,当鼠标滑到坐标的tab上时,给它一个高亮显示,让它对应的内容在右边的div中显示出来,当鼠标移出的时候把tab栏上的高亮显示去掉,右边的内容也隐藏掉,这就是普通的tab切换。现在需求是这样,当鼠标从左边的tab栏移出,而且没有移进右边的div区域,让它的效果消失,但当鼠标从左边的tab栏移出,移进了右边的div区域,保持效果,当鼠标从右边的div区域移出的时候再取消效果。
大体思路是这样的,当鼠标从左侧的tab栏移出的时候给它加一个定时器setTimeout,让这个效果过0.5秒消失,如果在这个时间内鼠标移动到了右侧的div区域,取消定时器,当鼠标从右侧的div区域离开时,再加上定时器。话不多说了,直接上代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.main {
width: 300px;
height: 800px;
float: left;
}
.main > div {
width: 300px;
height: 100px;
margin-top: 50px;
border: 1px solid red;
}
.main > div.current {
background-color: deeppink;
}
.main2 {
width: 400px;
height: 400px;
border: 1px solid #3C3C3C;
float: left;
margin-left: 100px;
margin-top: 50px;
}
.main2 > div {
width: 800px;
height: 800px;
display: none;
}
.main2 > div.active {
display: block;
}
</style>
</head>
<body>
<div class="main">
<div class="current"></div>
<div></div>
<div></div>
</div>
<div class="main2">
<div class="active">111</div>
<div>222</div>
<div>333</div>
</div>
<script src="jquery-1.11.0.min.js"></script>
<script>
$(function(){
var timer = null;
$('.main div').each(function(index){
$('.main div').eq(index).on('mouseenter',function(){
$(this).addClass("current");
$('.main2 div').eq(index).addClass("active");
})
$('.main div').eq(index).on('mouseleave',function(){
timer = setTimeout(function(){
$(".main div").eq(index).removeClass("current");
$('.main2 div').eq(index).removeClass("active");
},500);
})
$('.main2 div').eq(index).on('mouseenter',function(){
clearTimeout(timer);
})
$('.main2 div').eq(index).on('mouseleave',function(){
$(".main div").eq(index).removeClass("current");
$('.main2 div').eq(index).removeClass("active");
})
})
})
</script>
</body>
</html>
tab栏切换的特殊效果的更多相关文章
- tab栏切换的特殊效果(类似网易的登陆栏效果)
代码显示效果如上图所示: 需求说明: 在实际需求中,会遇到这样的情况:不仅是要展示选项卡的内容,而且还有可能在选项卡中需求顾客填写相关内容,而这些内容是顾客如果想了解更深层次的,就会继续填写右边的内容 ...
- jQuery带有定时器的tab栏切换
现在网上很多类似选项卡的切换,我们成为tab栏切换,比如下图: 新浪的tab栏切换 淘宝的tab栏切换 其中,新浪的tab栏鼠标放上去,可以快速的来回切换,但是如果采取ajax异步传输,不停去加载服务 ...
- dataTable tab栏切换时错位解决办法
做后台管理类网站肯定要写列表,首选dataTable,功能强大 最近在做一个tab栏切换时发现了一个很诡异的事情:表头错位了! 主要时因为当table被隐藏后,table的header宽度会计算错乱, ...
- tab栏切换
最简单的tab栏切换 html部分 <ul class="tab"> <li class="item">待支付(1)</li> ...
- tab栏切换制作
tab栏切换制作 先上图 要求1:默认状态,第一个选项卡被选中,展示第一个选项卡的内容 策略:第一个选项卡默认有被选中的样式,第一个选项卡对应的display: block,其他的dispaly设为n ...
- ES6面向对象实现tab栏切换效果
面向对象实现tab栏切换效果
- JS实现 Tab栏切换案例
要求:当鼠标点击上面相应的选项卡(tab),下面页面的内容也随之而改变. 结构分析: 全部的内容都放到一个大的盒子里面,盒子里面又可以分为上面和下面两个盒子. 上面的盒子放了 5个li,装着5个小的选 ...
- JavaScript实现Tab栏切换
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 京东网页上,可以看到下面这种tab栏的切换: 我们把模型抽象出来,实现一 ...
- [javascript]switchTab:仿腾讯首页Tab栏切换js插件
腾讯首页的每个新闻栏目都是一个tab选项卡切换,属于延迟动作的:鼠标hover上去之后200毫秒才会切换,防止了因为浏览滑动导致的页面上选项卡的频繁切换.仿照这样的效果,自己写了一个js插件,实现了低 ...
随机推荐
- Md5 签名算法
/// <summary> /// MD5签名 /// </summary> /// <param name="pre ...
- Gvim插件管理Vundle
之前关于gvim的博客中提到的很多插件安装比较繁琐,这一篇来介绍一下gvim管理插件的插件--vundle的安装以及使用,让givm的插件安装更加的简单 首先给出vundle的git地址 https: ...
- JMS介绍【转载】
什么是JMS JMS(Java Message Service) 即Java消息服务.它提供标准的产生.发送.接收消息的接口简化企业 应用的开发.它是J2EE规范的一部分,定义的接口标准,针对不同的厂 ...
- 解决SOAPCLIENT访问WebSerivce外网发布端口
猫用vs2010写了一个webservice,并写了一个盘点程序客户端,PDA盘点机用C#开发,笔记本用VFP开发,发布在本地局域网IIS服务器,用了两年一直很稳定.后面仓库搬迁,需要外网进行访问,在 ...
- 使用hex6x 进行十六进制转换
接触DSP两年多,虽然烧写Flash的操作都没问题,但是要是问起来为什么这么做的,就有点自惭形秽了.所以花些时间,查阅一下资料,整理一下. 1.先看看BurnFlash都需要什么东西. XXX.out ...
- WPF功能点
if ("TextBoxBase".Contains(Keyboard.FocusedElement.GetType().BaseType.Name)) { return; } 1 ...
- IOS (APP 启动 相应处理)
APP 每次启动的入口都是通过: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSD ...
- EL使用:打印集合
<%@page import="java.util.HashMap"%><%@page import="java.util.Map"%> ...
- jquery实现动态添加html代码
先看下思导图,整体了解下,然后我们再来学习. 现在我们来看一下几段代码,然后根据这几段代码我们来学习一下如何正确的学习动态添加html. 一.html()方法 html函数的作用原理首先是移除目标元素 ...
- Could not synchronize database state with session
今天做一个简单保存时,db2数据库报的错误,网上收集了下问题的解决办法~ 1.主键不是自动生成的,然后自己没手动设置. 2.插入的实体字段跟数据库的关键字冲突. 3.更新的时候,如果更新一个不存在的i ...