jquery简单插件到复杂插件(1)--tabs
写在前面,到了新公司开始转做前段,之前一直写php,一共写了半年,转过来,jq都用不好,但是还是得不断的学习,谁没菜过。从最简单的开始写,最近也在学习些html5的小游戏,加油吧。js原生写的可以说惨不忍睹,不断加油吧。

html部分:
<ul id="tabs">
<li><a href="#" name="tab1" onclick="aclick(this,1)">一</a></li>
<li><a href="#" name="tab2" onclick="aclick(this,3)">二</a></li>
<li><a href="#" name="tab3" onclick="aclick(this,5)">三</a></li>
<li><a href="#" name="tab4" onclick="aclick(this,7)">四</a></li>
</ul> <div id="content">
<div id="tab1">
<h2>那是第一个</h2>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p> </div>
<div id="tab2">
<h2>那是第二个</h2>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
</div>
<div id="tab3">
<h2>那是第三个</h2>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
</div>
<div id="tab4">
<h2>那是第四个</h2>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
<p>那是第一个那是第一个那是第一个那是第一个那是第一个那是第一个</p>
</div>
</div>
css:
#tabs
{
overflow: hidden;
width: %;
margin: ;
padding: ;
list-style: none;
}
#tabs li
{
float: left;
margin: .5em ;
}
#tabs a
{
position: relative;
background: #ddd;
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ddd));
background-image: -webkit-linear-gradient(top, #fff, #ddd);
background-image: -moz-linear-gradient(top, #fff, #ddd);
background-image: -ms-linear-gradient(top, #fff, #ddd);
background-image: -o-linear-gradient(top, #fff, #ddd);
background-image: linear-gradient(to bottom, #fff, #ddd);
padding: .7em .5em;
float: left;
text-decoration: none;
color: #;
text-shadow: 1px rgba(,,,0.8);
-webkit-border-radius: 5px ;
-moz-border-radius: 5px ;
border-radius: 5px ;
-moz-box-shadow: 2px 2px rgba(,,,.);
-webkit-box-shadow: 2px 2px rgba(,,,.);
box-shadow: 2px 2px rgba(,,,.);
}
#tabs a:hover,
#tabs a:hover::after,
#tabs a:focus,
#tabs a:focus::after {
background: #fff;
} #tabs a:focus {
outline: ;
} #tabs a::after {
content:'';
position:absolute;
z-index: ;
top: ;
right: -.5em;
bottom: ;
width: 1em;
background: #ddd;
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ddd));
background-image: -webkit-linear-gradient(top, #fff, #ddd);
background-image: -moz-linear-gradient(top, #fff, #ddd);
background-image: -ms-linear-gradient(top, #fff, #ddd);
background-image: -o-linear-gradient(top, #fff, #ddd);
background-image: linear-gradient(to bottom, #fff, #ddd);
-moz-box-shadow: 2px 2px 2px rgba(,,,.);
-webkit-box-shadow: 2px 2px 2px rgba(,,,.);
box-shadow: 2px 2px 2px rgba(,,,.);
-webkit-transform: skew(10deg);
-moz-transform: skew(10deg);
-ms-transform: skew(10deg);
-o-transform: skew(10deg);
transform: skew(10deg);
-webkit-border-radius: 5px ;
-moz-border-radius: 5px ;
border-radius: 5px ;
} #tabs #current a {
background: #fff;
z-index: ;
} #tabs #current a::after {
background: #fff;
z-index: ;
} #content
{
background: #fff;
padding: 2em;
height: 220px;
position: relative;
z-index: ;
-moz-border-radius: 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px;
border-radius: 5px 5px 5px;
-moz-box-shadow: -2px 3px -2px rgba(, , , .);
-webkit-box-shadow: -2px 3px -2px rgba(, , , .);
box-shadow: -2px 3px -2px rgba(, , , .);
}
jq:
$(function(){
$('#content').find("[id^='tab']").hide();//第一步全部隐藏
$("#tabs li:first").attr("id","current");//默认第一个选项卡为选中
$("#content #tab1").fadeIn();//显示第一个
$('#tabs a').click(function(e)
{
e.preventDefault();//阻止默认动作
if ($(this).closest("li").attr("id") == "current") { //判断哪个是否是活动的
return;
} else{
$("#content").find("[id ^= 'tab']").hide();//隐藏全部的tab
$("#tabs li").attr("id","");//去掉选中状态
$(this).parent().attr("id","current");//点击的加上选中状态
$('#' + $(this).attr('name')).fadeIn();//利用其name和tab的名字相同来显示哪个选项
}
})
});
js:
window.onload = function(){
var content = document.getElementById('content');
var list = content.childNodes;
for (var i = ; i< ; i+=) {
list[i].style.display='none';
}
document.getElementById('tabs').childNodes[''].setAttribute("id","current");
list[].style.display='block';
}
function aclick(_this,num)
{
var tabsli = document.getElementById('tabs').childNodes;
tabsli[].setAttribute("id","");
var tabs = document.getElementsByName(_this.name);
var content = document.getElementById('content');
var list = content.childNodes;
for (var i = ; i< ; i+=) {
list[i].style.display='none';
}
list[num].style.display='block';
}
git地址:https://github.com/chenjinxinlove/jquser
演示地址:http://jquerytabs.applinzi.com/
jquery简单插件到复杂插件(1)--tabs的更多相关文章
- 基于jQuery简单实用的Tabs选项卡插件
jQuery庞大的插件库总是让人欢喜让人忧,如何从庞大的插件库里挑出适合自己的插件,总是让很多缺少经验的朋友头疼的事!今天为大家推荐几款简单实用的Tabs选项卡插件,推荐理由:简单易用灵活,样式美观, ...
- 使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能。并且在界面上有radio 的选择内容也要上传
使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能.并且在界面上有radio 的选择内容也要上传 uploadify 插件的 下载和文档地址 ...
- 使用 ADD-ON SDK 开发 基于 Html JQuery 和 CSS 的 firefox 插件入门教程1: 创建一个简单的 Add-on
[本文转载自http://sixpoint.me/942/implementing-simple-addon/] 实现一个简单的插件 教程的这个部分带你使用 SDK 来实现, 运行并打包一个插件. 这 ...
- Javascript和jQuery WordPress 图片轮播插件, 内容滚动插件,前后切换幻灯片形式显示
用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美的图片轮播效果,希望这些插件 ...
- PgwSlideshow-基于Jquery的图片轮播插件
0 PgwSlideshow简介 PgwSlideshow是一款基于Jquery的图片轮播插件,基本布局分为上下结构,上方为大图轮播区域,用户可自定义图片轮播切换的间隔时间,也可以通过单击左右方向按键 ...
- 推荐20款基于 jQuery & CSS 的文本效果插件
jQuery 和 CSS 可以说是设计和开发行业的一次革命.这一切如此简单,快捷的一站式服务.jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQue ...
- 12款响应式的 jQuery 旋转木马(传送带)插件
在企业网站,作品集网站,电子商务网站或任何其他类型的网站内容显示图片可以使用 jQuery 旋转木马(传送带)插件来实现. jQuery 旋转木马插件允许开发人员以水平或垂直的方式显示内容,视频和图像 ...
- 赞!带进度条的 jQuery 文件拖放上传插件
jQuery File Uploader 是一个 jQuery 文件拖放上传插件,包括 Ajax 上传和进度条效果.作者编写这个插件的想法是要保持它非常简单,不像其他的插件,很多的标记,并提供一些 H ...
- 一款效果精致的 jQuery 多层滑出菜单插件
想要以用户友好的方式呈现多级菜单是件不容易的事情,而且还要跨浏览器兼容就更难了.Multi-Level Push Menu 这款 jQuery 插件提供了呈现这种菜单的解决方案,能够让你无限制的展示菜 ...
- jQuery超炫酷按钮插件及源码
现在大部分网页的按钮都是经过美化的,那些原始的浏览器按钮太过于枯燥乏味,让用户失去和网站交互的兴趣.早期我们都是通过背景图片来美化网页按钮,而现在我们可以利用扩展性更好的CSS3来制作漂亮的网页按钮, ...
随机推荐
- thinkphp介绍
1.thinkphp是一个免费的开源的轻量级的高效的国产的php框架 2.现在主流的框架有: zend framwork 框架,功能十分齐全,是php官网开发的一个框架 yii框架 十分轻巧的 ...
- linux第4天 shell socket
$[ ] 表示形式告诉shell对方括号中的表达式求值 echo $[3+9] 赋值运算符 =,+=,-=,*=,/=,%=,&=,^=.|=,<<=,>>= let ...
- CSS_03_01_CSS组合选择器
CSS组合选择器 第01步:创建css:with.css @charset "utf-8"; /* 组合选择器,用","隔开 */ .a,.b,div span ...
- kafka 0.8.x producer Example(scala)
Producer 最简配置 metadata.broker.list参数指定broker地址,这里不需要填上所有的broker地址,但是如果只写一个,这个broker挂掉后就无法往topic中写入信息 ...
- paper 9:SVM番外篇:支持向量机系列六:Duality —— 关于 dual 问题推导的一些补充理论。
在之前关于 support vector 的推导中,我们提到了 dual ,这里再来补充一点相关的知识.这套理论不仅适用于 SVM 的优化问题,而是对于所有带约束的优化问题都适用的,是优化理论中的一个 ...
- 夺命雷公狗—angularjs—15—内置封装好的计时器$interval和$timeout
这里其实和js源生的效果是一样的,但是源生的在angularjs里面不能直接正常执行代码如下所示: <!DOCTYPE html> <html lang="en" ...
- java 操作excel 文件
JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过 ...
- 仅支持webkit浏览器的多行内容超出显示省略号
.box { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; ...
- [Ubuntu] Ubuntu DNS服务器配置
服务器IP:10.68.19.61 操作系统:Ubuntu 13.04 DNS程序:Bind9 测试域名:mycloud.com 目标IP:10.68.19.134 配置步骤 1.安装BIND9程序包 ...
- Javascript动态加载Html元素到页面Dom文档结构时执行顺序的不同
我们有时会通过ajax动态获取一段Html代码,并且将这段代码通过javascript放到页面的Dom结构中去. 而很多时候通过ajax动态获取的Html代码中也包含javascript代码,有一点需 ...