思想:首先定义三个选项卡,可以用任何标签,只要如下图,

一共有三个ul,第一个ul给一个class,因为默认第一个选项卡的内容显示出来,

其他两个ul  display:none;

当我鼠标移到第二个第三个选项卡的时候,删除第一个选项卡的class,鼠标移到哪里就给哪个选项卡那个class

思路就這样

下面是完全的代码

最好自己写写,然后参考自己下面的代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<style type="text/css">
*{margin:0;padding:0;}
body{font-size:12px;}
#content{margin:0 auto;width:600px;border:1px #000 solid;}
#tabs{height:30px;background:black;overflow:hidden;position:relative;}
#tabs #state{
display:block;
top:0;right:0;
width:30px;height:30px;
font-size:24px;
font-weight:700;
text-align:center;
color:#fff;
cursor:pointer;
position:absolute;
}
#tabs li{
display:inline; /**/
padding:0 8px;
line-height:30px;
color:#fff;
list-style:none;
cursor:pointer;
float:left; }
#tabs .active{color:#000;background:#fff;} #list {padding:10px 0;}
#list ul{margin:0 25px;display:none;}
#list ul li{height:25px;line-height:25px;}
#list .active{display:block;}
</style>
</head>
<body> <script>
window.onload=function()
{
var $ =function(ids)
{
return document.getElementById(ids);
}
var tabs= $("tabs").getElementsByTagName("li");
var state = $("state");
var list = $("list");
var ul = list.getElementsByTagName("ul"); for(var i=0;i<tabs.length;i++)
{
tabs[i].index=i;
tabs[i].onmouseover=function()
{
for(var i=0;i<tabs.length;i++)
{
tabs[i].className=ul[i].className='';
}
this.className=ul[this.index].className="active";
}
} //方法2
// for(var i=0;i<tabs.length;i++)
// {
// (
// function(index)
// {
// tabs[index].onmouseover=function()
// {
// for(var j=0;j<tabs.length;j++)
// {
// tabs[j].className=ul[j].className='';
// }
// this.className=ul[index].className="active";
// }
// }
// )(i) ;
// } //方法1
// function clearEvent(index)
// {
// tabs[index].onmouseover=function()
// {
// for(var j=0;j<tabs.length;j++)
// {
// tabs[j].className=ul[j].className='';
// }
// this.className=ul[index].className="active";
// }
// } //加号位置的收缩
state.onclick = function()
{
var text = this.innerHTML;
if( text == "+")
{
this.innerHTML="-";
list.style.display="block";
}
else
{
this.innerHTML="+";
list.style.display="none";
}
} } </script> <div id="content">
<div id="tabs">
<ul>
<li class="active">暴给力</li>
<li>职业指导</li>
<li>充电区</li>
</ul>
<span id="state">-</span>
</div>
<div id="list">
<ul class="active"> <li>IE6 PNG 解决方案合集</li>
<li>firefox下输入框innerHtml问题</li>
<li>精品菜单导航,多年精心收集整理上上品菜单</li>
<li>60个WEB使用效果集合</li>
<li>CSS3动态按钮导航集锦</li>
<li>Html 5 的革新,结构之美</li>
<li>javascript高级程序设计</li>
<li>w3cfuns我爱你</li>
<li>高性能网站建设指南</li>
<li>罕见的皮具拉链效果博客</li>
<li>基础5块状元素的内联元素</li>
<li>羊癫疯的纯css下拉导航原理</li>
<li>请问這个排序功能如何实现?</li>
<li>分享10个便利的html5/css3框架</li>
<li>白鹭ersonal申请热血活动板块版主</li>
<li>web前端标准在哥哥浏览器中的差异</li>
</ul>
<ul>
<li>腾讯面试题</li>
<li>近期面试感受</li>
<li>腾讯实习生web前端js开发工程师面试经历</li>
<li>阿里巴巴web前端开发面试题</li>
<li>网易页面重构面试题</li>
<li>网易web前端开发师面试回答的经历</li>
<li>2001腾讯前端面试稿</li>
<li>alibaba web前段开发工程师面试奇遇记</li>
<li>特训实习生网页重构组招聘公开试题</li>
<li>求职记--记录成为面霸的全过程</li>
<li>淘宝web前端开发面试经历</li>
<li>百度前端面试题对话记录</li>
<li>2011年最新百度前端开发面试经历</li>
<li>去tx的事基本黄了,题我发出来</li>
<li>俺们公司的面试题</li>
</ul>
<ul>
<li>厘米IT学院第89期</li>
<li>厘米IT学院第88期</li>
<li>厘米IT学院第87期</li>
<li>厘米IT学院第86期</li>
<li>厘米IT学院第85期</li>
<li>厘米IT学院第84期</li>
<li>厘米IT学院第83期</li>
</ul>
</div>
</div> </body>
</html>

js实现简单的滑动门和tab选项卡的更多相关文章

  1. 代码简洁的滑动门(tab)jquery插件

    < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org ...

  2. HTML+CSS技术实现网页滑动门效果

    一.什么是滑动门 大家在网页中经常会见到这样一种导航效果,因为使用频率广泛,所以广大的程序员给它起了一个名字,叫做滑动门.在学习滑动门之前,首先你要了解什么是滑动门. 小米官网,网页滑动门效果 二.实 ...

  3. jquery插件之tab标签页或滑动门

    该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的tab标签页或滑动门特效,在此插件中默认使用的是鼠标滑过 ...

  4. JS滑动门,JQuery滑动门

    <a href="#" id="one1" onmouseover="setTab('one',1,2)" class="h ...

  5. js 滑动门的实现

    原理:滑动门,这里以图片进行实例,首先设定主盒子div的宽度和高度设定,并进行图片初始化位置的设定,然后将图片绑定事件,并设定要达到的效果 html代码: <!DOCTYPE html> ...

  6. js 简单的滑动4

    js 简单的滑动教程(四)   作者:Lellansin 转载请标明出处,谢谢 在大概的了解滑动的基本原理和怎么去实现之后,现在我们将更深入的去讨论js的滑动. 相信细心的朋友应该已经发现了,在本教程 ...

  7. js 简单的滑动3

    js 简单的滑动教程(三)   作者:Lellansin 转载请标明出处,谢谢 在前面的基础上(js 简单的滑动教程(二)),我们可以再添加一些功能使程序的可用性更高. 比如自动为图片的LI赋id值, ...

  8. js 简单的滑动2

    js 简单的滑动教程(二)   作者:Lellansin 转载请标明出处,谢谢 现在我们让滑动多一个功能,三张图.点击左边向左滑动,点右向右滑,碰到临界值的时候可以循环滑动 原理也很将简单,用posi ...

  9. js 简单的滑动1

    js 简单的滑动教程(一)   作者:Lellansin 转载请标明出处,谢谢 首先我们要实现一个简单的滑动,三张图.点击左边向左滑动,点右向右滑,碰到临界值的时候就不能滑动. 这个简单滑动的原理是, ...

随机推荐

  1. 151. Reverse Words in a String

    Given an input string, reverse the string word by word. For example,Given s = "the sky is blue& ...

  2. 安装配置Oracle数据库时的一些处理思路

    配置Oralce客户端或者服务器端出现问题时,可考虑如下步骤: 1 检查如下文件:client端:D:\app\Administrator\product\11.2.0\client_3\networ ...

  3. 3D视觉差---原生js+css

    <!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. [CSS]当选择器没有指定元素时

    当选择器没有指定元素时,样式会作用于(匹配)所有html元素. 如下面代码: <!DOCTYPE html> <html> <head> <style> ...

  5. 如何判断TCP包是否发送成功

    1. TCP发送接口:send() TCP发送数据的接口有send,write,sendmsg.在系统内核中这些函数有一个统一的入口,即sock_sendmsg().由于TCP是可靠传输,所以对TCP ...

  6. java中四种引用类型(转)

    今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混.后来在网上查资料,感觉收获颇多, ...

  7. c#4

    float translation = Time.deltaTime * 10; transform.Translate(0, 0, translation);//沿z轴移动   public cla ...

  8. laravel项目return back()->withErrors($validator)或return back()->with('errors','原密码错误!')在前台原密码错误的情况下不能正确显示错误信息,变成报错!

    被折磨的答案是 php artisan --version看一下版本,如果是5.2.26以上的,在路由处删除web中间件分组,还有问题再反馈

  9. [Swift]枚举

    1. Swift的枚举的基本用法: 1) 和其它语言枚举的意义相同,就是用有限的一组值(不能是无限的)来表示一些特定的含义: 2) Swift使用关键字enum定义枚举类型,定义体中用case定义成员 ...

  10. 《c++程序设计》笔记

    本文是学习谭浩强老师的<c++程序设计>后的笔记. 1.概述 c++是贝尔实验室在c语言的基础上发展而来,与c兼容.用c语言写的程序可以不加修改用于c++.从c++的名字可以看出它是c的超 ...