一款 jquery + css3 三角形简单选项卡

1.介绍

自从接触了javascript这款语言,我就深深为之着迷,那种灵动性让我一度喜爱,而它的轻量级的库jquery就可以说更加神奇了。为此这几天写了一个觉得很漂亮的小特效,分享一下。

2.html 分析

<div class="content">
  <ul class="content-nav">
      <li class="ac"><a href="#">最新资讯</a>
        <div></div>
      </li>
      <li><a href="#">篮球</a>
        <div></div>
      </li>
      <li><a href="#">潮流</a>
        <div></div>
      </li>
  </ul>
  <div class="content-list-one xianshi">
      <div>
       <img src="img/4.jpg" width="500" height="200">
      </div>
  </div>
  <div class="content-list-one ">
     本文主要介绍留言板系统的设计思路和制作过程,从留言板的重要性开始,介绍我的留言版采用的PHP技术和MYSQL数据库,进而阐述整技术。
  </div>
  <div class="content-list-one ">
     留言板是一种电子便签管理系统,是用PHP或其它脚本语言编写的网络应用程序。在网络用户交流中起很大的作用,每个人都可以将他
  </div>
</div>

3.Css 分析

一个网页特效,基础所在就是html布局,和css配合 html相信学前端的小伙伴们,上面的代码应该不难看懂。我就不细说了。我主要讲讲css技巧。

css技巧

页面有两个部分,一个导航 和 需要切换的内容区域这里面,我把内容区域用position:absolute;这个属性定在一个点上。当然他的父级需要加相对定位,要不然他默认就是body是父级了。所以你写了top,和left值时候 就不会顺心如意。

利用css3 我们可以做一个非常棒的三角形,但并代表说图片做出的三角形就会被淘汰,要知道有一种东西叫做低版本浏览器,当然我们有嘲讽的意思。=。=!

不过三角形也需要绝对定位到每一个li上面,当然此时li就是他的父级,这里我用div做的三角形。

代码里面第一个li添加ac类什么用呢?

其实这就是默认方式的一个技巧,我在写个小东西的时候遇到了一个问题,思路想错了,我想加上li的ac 再给它的子div(三角形)加 默认class 其他的子div(三角形)隐藏,移动这个class,其他子div(三角形)隐藏。

这么想也没错,但是还是在移动小三角形出了点小问题。o.0 所以我就想到了一个棒棒的方法。

我并没有给任何一个子div加类,而移动的只有li上的ac让所有的li的子div(三角形)隐藏,让li上带有ac类的子div(三角形)显示,好啦说了这么多了,我要上代码了!

<style>
 *{ padding:0; margin:0; list-style:none;}
 .content-nav{ width:500px; height:30px; background:rgba(0,0,0,0.2); margin: 20px auto; clear:both;}
 .content-nav li{ float:left; margin-right:20px; width:100px; height:30px; text-align:center; line-height:30px; position:relative;}
  .content-nav li a{ color:#FFF; display:block; text-decoration:none;}
  .content-list-one{ width:500px; height:200px; background:#FF0; margin:0 auto; position:absolute; top:50px; left:430px; display:none;}
  .content{ position:relative;}
  .xianshi{ display: block;}
 .content-nav li.ac{ background:#000; color:#fffffff; }
 .content-nav li div{ display:none;}
 .content-nav li.ac div{ width:0; height:0; position:absolute; right:50px; top:30px;  border-left:6px solid transparent;
 border-right:6px solid transparent;  border-top:6px solid #000; cursor:pointer; display:block;}
 
</style>

3.Jquery 分析

其实jquery还真的特别方便,也许用javascript写很长的代码,用jquery几句话就ok啦~ 不过我个人认为两种方式都有好有坏,原生的东西运行的速度要比用jquery要快一些,当然这种速度之间的差距,还是很小的。。。

+_+ 咱们继续刚才的正题

html css写好了,那么jquery怎么写呢? 首先我们要点击当前的 li显示下面的内容,比如,点击第一个li 就要显示第一页内容,第二个li就显示第二页内容 那么好,我们要先写导航切换,然后在索引下面的内容。

需要用到的方法有,click() addClass() removeClass() siblings() find()
fadeIn() fadeOut() index() eq()

谁点击呢? 当然是li 喽,不过命名还是要规范点好 两种比较喜欢的形式

$(".父级类名 li").click(function(){
      代码
  //$(this).addClass("ac").siblings("li").removeClass("ac");
})
$(".父级类名 ").find("li").click(function(){
   
//$(this).addClass("ac").siblings("li").removeClass("ac");
})

上面那些方法,分别是点击方法,添加类名方法,移除类名方法,筛选同胞元素,(也就是同层元素)...从那找到的方法,淡入方法,淡出方法 索引方法 , 选取的方法。

不是很难,如果还是不懂可能需要自行查查手册,看看w3c了

好,上面就是导航条如何切换了,给当前点击li添加ac类,然后筛选出(“li”)的这种同胞元素,移除掉他们身上的ac类。

那么如何控制下面的内容呢?

这就需要我们的索引了, 索引怎么说,通俗点理解。就是一致,第一个li对应的就是第一个内容div 。

可能还是有点混吧, 第一个li的第一个索引是0,第一个div索引也是0, 他们相等就可以完成切换了。。

有些时候语言不能完美的阐述我要说的东西,还是代码来的更加有说服力

<script>
$(function(){
    $(".content-nav li").click(function(){
        
           $(this).addClass("ac").siblings("li").removeClass("ac");
           var index=$(this).index();
           $(".content-list-one").eq(index).addClass("xianshi").siblings("div").removeClass("xianshi");
           //$(".content-list-one").eq(index).fadeIn().siblings("div").fadeOut();
           
        
        })
     
    });
</script>

结束语

好啦,以上就是我为大家带来的一个小案例,案例虽然小,不过我也希望能帮助到你们,再次多谢观看~~~~以后见

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容