新葡亰496net Web前端 简单实现js选项卡切换效果,js选项卡切换

简单实现js选项卡切换效果,js选项卡切换

hi,先前写过一篇文章:[通用]jQuery下拉菜单-学习篇
今天接着介绍一下关于jQuery中tab的切换效果。在网页中我们经常看到很多的tab切换效果,有的童鞋就要问了,如何定义一个通用的函数,让页面上所有的tab切换效果只需调用同一个函数来实现效果,针对这个问题先前在网上搜索了一些文章,都没具体的讲解出来,下面就是本人花了些时间总结出来的,分享给大家。

具体效果可以参见
http:/www.taihainet.com ,
在 台海网
首页中,我一共应用了四个样式共九组滑动门,代码就只是上面给出的那一段。四个样式列举如下:

您可能感兴趣的文章:

  • 一个js封装的不错的选项卡效果代码
  • js tab 选项卡
  • JQuery 选项卡效果(JS与HTML的分离)
  • js实现tab选项卡函数代码
  • 跨浏览器通用、可重用的选项卡tab切换js代码
  • 利用js实现选项卡的特别效果的实例
  • javascript实现tabs选项卡切换效果(自写原生js)
  • jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
  • js/jQuery简单实现选项卡功能

本文实例介绍了实现js选项卡切换效果的详细代码,分享给大家供大家参考,具体内容如下
思路…

HTML代码和CSS样式,我就直接贴出来,如下:

这段代码只使用了两个css类来处理,并且,自动判断tabs和panels的对应状态,假如你有4个tab,但是只有前三个启用了,那么你只需要写三个panel就可以,第四个panel不存在,则第四个tab自动不生效。

简单实现js选项卡切换效果,js选项卡切换

本文实例介绍了实现js选项卡切换效果的详细代码,分享给大家供大家参考,具体内容如下

思路:

  •    1、获取元素;
  •   
    2、for循环按钮元素添加onclick(点击) 或者
    onmousemove(移入)事件;
  •   
    3、点击当前按钮时会以高亮状态显示,通过for循环历遍把所有的按钮样式设置为空在把所有div的display设置为none。
  •   
    4、点击当前按钮添加样式,把当前div显示出来,display设置为block。

html代码: 

 <div id="div1">
  <input type="button" class="active" value="1"/>
  <input type="button" value="2"/>
  <input type="button" value="3"/>
  <input type="button" value="4"/>
   <div class="div2" style="display:block;">11</div>
   <div class="div2">22</div>
   <div class="div2">33</div>
   <div class="div2">44</div>
 </div>

css样式: 

 .active
  {
  background:#9CC;
  }
 .div2
  {
  width:300px;
  height:200px;
  border:1px #666666 solid;
  display:none;
  }

 js代码:

<script>
window.onload=function(){

  var odiv=document.getElementById('div1');//获取div
  var btn=odiv.getElementsByTagName('input');//获取div下的input
  var div2=odiv.getElementsByTagName('div') ;//获取div下的div

 for(i=0;i<btn.length;i++)//循环每个按钮
  {
   btn[i].index=i //btn[i]是指定button的第i个按钮;为该按钮添加一个index属性,并将index的值设置为i
   btn[i].onclick=function()//按钮的第i个点击事件
  {
  for(i=0;i<btn.length;i++)//循环去掉button的样式,把div隐藏
   {
    btn[i].className='' //清空按钮的样式
    div2[i].style.display='none'//隐藏div
   }
    this.className='active'//自身添加active
    div2[this.index].style.display='block'//this.index是当前div


  }
  }

}
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助。

  • 双色球
  • 大乐透
  • 七星彩
<div>
    <ul class="ui-tabs-nav">
        <li class="ui-tabs-selected"><a href="/bbs">论坛新帖</a></li>
        <li><a href="/blog">最新博文</a></li>
    </ul>
    <div class="ui-tabs-panel">
      <!--这里调用最新论坛文章-->
    </div>
    <div class="ui-tabs-panel ui-tabs-hide">
      <!--这里调用最新博客文章-->
    </div>
</div>

html代码:

但是我在实际应用中遇到了一些问题,除了 jQuery UI
自带的js脚本很大,css不符合实际应用需求外,还有一个最大的问题,你可能已经注意到了,在作为导航的标签定义中,每个标签对应哪一个区域是用链接目标来定义的。比如
<a href=”#panel-1″>标签一</a>和<div
id=”panel-1″>区域一</div>对应,如果你的标签和区域没有对应起来,绑定tabs()就不起作用了。

<div class="tabs">
    <ul class="ui-tabs-nav" jquery1239647486215="2">
        <li class="ui-tabs-selected"><a href="#panel-1" jquery1239647486215="8">标签一</a></li>
        <li><a href="#panel-2" jquery1239647486215="9">标签二</a></li>
        ></ul>
    <div id="panel-1" class="ui-tabs-panel" jquery1239647486215="4">
        区域一
    </div>
    <div id="panel-2" class="ui-tabs-panel ui-tabs-hide" jquery1239647486215="5">
        区域二
    </div>
</div>
<div class="tabs">
    <ul>
        <li><a href="#panel-1">标签一</a></li>
        <li><a href="#panel-2">标签二</a></li>
    </ul>
    <div id="panel-1">区域一</div>
    <div id="panel-2">区域二</div>
</div>

本文转自:

同时,我们有以下的css类定义:

这样,就可以根据你的需要,结合自己的css,定制不同样式的滑动门了。把相应的js代码放到页面中,那么在页面里任何地方只要你按照HTML结构编写了一段html,这段html就会自动变成滑动门。而不用在每个页面里单独指定特定的selector来应用滑动门的tabs()方法。并且,根据需要给你的滑动门标签添加需要的链接,或者不要链接(href=”#”
或者 href=”javascript:void(0)”)。

$(function() {
    $(".tabs").tabs();
});

注意:这里的代码非常干净,不含任何的JS代码或者与文档结构无关的定义。然后,在head区域,或者在页面任何地方增加一段js代码:

<script type="text/javascript">
    $(function() {
        $(".tabs").find("li").onmouseover(function(e) {
            if (e.target == this) {
                var tabs = $(this).parent().children("li");
                var panels = $(this).parent().parent().children("div");
                var index = $.inArray(this, tabs);
                if (panels.eq(index)[0]) {
                    tabs.removeClass("ui-tabs-selected")
                        .eq(index).addClass("ui-tabs-selected");
                    panels.addClass("ui-tabs-hide")
                        .eq(index).removeClass("ui-tabs-hide");
                }
            }
        });
    });
</script>

借助 jQuery 库,我们可以通过
$(“.tabs”)找到要实现的标签,然后 .find(“li”)
来找到要添加事件的元素,绑定事件的时候,我们可以通过该元素在$(“.tabs
li”)集合中的索引值来明确是哪一个标签被激活,然后对应索引值的panel显示。代码类似这样:

标签:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图