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来制作漂亮的网页按钮, ...
随机推荐
- 转:python webdriver API 之浏览器的操作
1.1.浏览器最大化在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟 sikuli 结合,使用 sikuli 操作 flash.# ...
- .net 反编译工具
遇到一个需求,做一个专门访问自己网站的浏览器给用户使用,这个浏览器提供登录功能.此时是一个安装在客户端的exe程序,做登录验证要用到webservice,不能将验证逻辑写入exe中,否则客户端可以利用 ...
- Facebook开源项目:我们为什么要用Fresco框架?
(Facebook开源项目)Fresco:一个新的Android图像处理类库 在Facebook的Android客户端上快速高效的显示图片是非常重要的.然而多年来,我们遇到了很多如何高效存储图片的问题 ...
- notepad++ 行末尾添加指定字符
在查找目标中输入“^”代表行首,“$”代表行末,下方的查找模式要改成“正则表达式”. 如果替换中有字符,则用“\”转义, 例如 : 目标中输入: $ 替换字符输入: \, 则是每行后面加 ...
- nginx在windwos中的使用
本文章参考了 nginx for windows的介绍:http://nginx.org/en/docs/windows.html 你从官网上下载到的是一个 zip 格式的压缩包,首先要把压缩包解压. ...
- Yii2下拉框实现
详细介绍yii2下拉框的实现方法,以商品分类的下拉框为例: 第一种方法:使用Html的activeDropDownList(),该方法的优点是:可以自定义下拉框的样式.具体实现如下: 1.控制器中,获 ...
- NOIP201205Vigenère密码
NOIP201205Vigenère密码 [问题描述] 16 世纪法国外交家Blaise de Vigenère设计了一种多表密码加密 ...
- jsp页面的跳转取值
<p >工单管理 >> <c:if test="${code eq 0}">全部工单>>详情页</c:if> <c ...
- postgres创建用户,表
使用createuser来创建用户 [postgres@web1 ~]$ /data/pgsql/bin/createuser --help createuser creates a new Post ...
- JavaEE基础(六)
1.面向对象(面向对象思想概述) A:面向过程思想概述 第一步 第二步 B:面向对象思想概述 找对象(第一步,第二步) C:举例 买煎饼果子 洗衣服 D:面向对象思想特点 a:是一种更符合我们思想习惯 ...