美文网首页前端杂货铺
jQuery笔记1 toggle方法

jQuery笔记1 toggle方法

作者: 若飞丶 | 来源:发表于2016-09-28 11:31 被阅读0次

toggle方法特别实用,很多时候在页面中都会用到,例如:

点击切换位置显示隐藏元素

其实就是无限的来回切换0和1两种状态,使用起来比if好用太多了!

例如:

点击切换标签的背景颜色

    //记得载入jQuery库
    <script src="js/jquery-1.3.1.min.js" type="text/javascript" charset="utf-8"></script>
    
    <p>点我切换</p>
    
    <script type="text/javascript">
        //先用jq给这个p标签设置一个初始的背景颜色和样式
        $("p").css({"background":"yellow","text-align":"center","padding":"10px"});
        
        //创建一个jq变量,存储p标签点击事件
        var $p = $("p").click();
        
        $p.toggle(function(){                   //方法1
            $p.css("background","red");
        },function(){                           //方法2
            $p.css("background","yellow");
        })
    </script>

点击显示隐藏分类目录

先看看效果:



这个功能还是比较实用的,可以用在栏目显示全部和隐藏部分的地方。

    //记得载入jQuery库
    <script src="js/jquery-1.3.1.min.js" type="text/javascript" charset="utf-8"></script>

    //随便写的css,只是为了方便观察
    <style type="text/css">
        li{float: left; margin: 10px;list-style-type: none}
        .clear{clear: both;}
        p{text-align: center;}
    </style>
    
    //分类目录的html代码
    <ul id="brand">
        <li>Samsung</li>
        <li>iPhone</li>
        <li>Sony</li>
        <li>LeTV</li>
        <li>360</li>
        <li>LG</li>
        <li>TCL</li>
        <li>Huawei</li>
        <li>ASUS</li>
        <li>Cube</li>
        <li>Tenda</li>
        <li>samsung</li>
        <li>Lenovo</li>
        <li>OPPO</li>
        <li>Meizu</li>
        <li>Xiaomi</li>
        <li>Other</li>
    </ul>
    <div class="clear"></div>
    <p class="more" href="#">&darr; 显示全部</p>
    
    <script type="text/javascript">
        //选中除了前七个栏目和最后一个栏目外的其余栏目赋值给一个JQ变量(为什么是七个?因为这是数组,数组的起始值是0,所以gt(6)是大于七个以上的)
        var $category =$("#brand li:gt(6):not(:last)");
            //默认先将这些栏目隐藏
            $category.hide();
        //定义一个JQ变量存放控制区域点击事件
        var $more = $(".more").click();
            $more.toggle(function(){
                //隐藏
                $category.hide();
                //修改控制区文本内容
                $more.text("↓ 显示全部");
                //移除高亮的class
                $("ul li").removeClass("high");
            },function(){
                //显示
                $category.show();
                //修改控制区文本内容
                $more.text("↑ 精简显示");
                //为栏目中重要的栏目加上高亮class
                $("ul li").filter(":contains('Samsung'),:contains('Xiaomi'),:contains('LG')").addClass("high");
            })
    </script>

当然,这个地方还可以实用if判断$category这个变量的显示状态来控制,原理都差不多的。

    <script type="text/javascript">
        var $category =$("#brand li:gt(6):not(:last)");
        $category.hide();
        var $more = $(".more");
        $more.click(function(){
            if ($category.is(":visible")) {         
                $category.hide();
                $more.text("↓ 显示全部");
                $("ul li").removeClass("high");
             } else{
                $category.show();
                $more.text("↑ 精简显示");
                $("ul li").filter(":contains('Samsung'),:contains('Xiaomi'),:contains('LG')").addClass("high");
            }
            return false;  
        })
    </script>

相关文章

  • jQuery笔记1 toggle方法

    toggle方法特别实用,很多时候在页面中都会用到,例如: 点击切换位置、显示隐藏元素 其实就是无限的来回切换0和...

  • jQuery 1.9 中删除的一些方法

    今天在弄jQuery的时候发现toggle方法竟然失效了,然后搜了一下发现原来toggle方法在1.9版本的时候就...

  • js之toggle方法

    toggle方法已经被jquery1.8之后所抛弃,所以我们在用toggle实现元素的隐藏和显示时不能直接用tog...

  • jQuery效果总结

    隐藏/显示jQuery hide()和show(): jQuery toggle(): 淡入淡出fadeIn()、...

  • bootstrap中下拉菜单(dropdown)的问题

    通过行间触发事件: 通过jQuery触发事件: 当使用方法去触发时,其中dropdown('toggle')和想象...

  • jquery hide() show() toggle()

    对于jquery中的这三个方法 hide()表示隐藏html元素,show()表示显示html元素而toggle(...

  • jQuery学习笔记

    jQuery笔记1 1,简介jQuery是JavaScript函数库,我们只需要调用相应的方法,宗旨是用最少的方法...

  • Bug相关

    jquery 相关 使用jq的toggle()、toggleClass() 、hide()、slideUp(),f...

  • jQuery toggle事件

    toggle方法用绑定多个事件处理函数,以响应被选元素的轮流的 click 事件。 该方法也可用于切换被选元素的h...

  • jquery基础动画与渐变以及滑动动画

    1.jquery中的基础动画 a.show()显示 b.hide()隐藏 c.toggle()切换show或者隐藏...

网友评论

    本文标题:jQuery笔记1 toggle方法

    本文链接:https://www.haomeiwen.com/subject/envhyttx.html