jQuery toggle() 方法与实例以及代替方法。

看《jQeury 权威指南》时看到这个toggle()方法。因为之前在慕课网学习接触过。发现两者讲的有细微的不同

以隐藏/显示目标元素效果为例,慕课网是这样讲解的

$("#clickId").toggle( 

function(){$(‘#divId‘).hide();}, //方法之间以逗号隔开

function(){$(‘#divId‘).show();} 

); 

点击ID名为clickId的按钮,第一次会执行第一个function来隐藏ID名为divId的块。第二次点击会显示。第三次点击再次执行隐藏,以此类推。

同样一个功能,而《jQeury 权威指南》中是这样讲解用法的。

$("#clickId").click(function() {
   $("divId").toggle();
})

使用toggle()的无参数方法来

同样的隐藏/显示目标元素的效果,《jQuery 权威指南》的处理方式显得更加简洁。使用无参方法时,只有2种状态。但是当需要切换2种以上的状态时,就只能使用慕课网的方法了。下面讲解toggle()方法可以实现多函数绑定

<body>

        <input id="btntest" type="button" value="点一下我" />
        <div>你好,请选择佳丽</div>

        <script type="text/javascript">
            $(function(){
                $("#btntest").toggle(
                    function(){
                        $("div").html("1号范冰冰");
                    },function(){
                        $("div").html("2号李冰冰");
                    },function() {
                        $("div").html("3号杨幂");
                    },function() {
                        $("div").html("4号姚晨");
                    }
                    )
                })
     </script>
    </body>

以下是运行结果。可见toggle()方法可以绑定多个函数,使用相当灵活。

toggle有3种调参的方法。上面讲了第一种无参使用方法,下面是第二种

toggle(switch)

switch是布尔类型的  数值是true或者false (若使用布尔值。则无法使用第三种speed参数方法)

var intI = 0;
var blnA = intI > 1; //获取逻辑值false;
$("img").toggle(blnA);

此时的blnA值是false。所以他能将"img"图片隐藏。

第三种是

$(selector).toggle(speed,callback)

speed是触发事件后执行的事件,可能的值:

  • 毫秒 (比如 1000 也就是1秒)
  • "slow"(0.6秒)
  • "normal"(0.4秒)
  • "fast"(0.2秒)

  在设置速度的情况下,元素从可见到隐藏的过程中,会逐渐地改变其高度、宽度、外边距、内边距和透明度。也就是动画效果了

  callback是整个toggle()方法执行完之后触发的事件,和上面的多函数绑定是不同的,一定要设置speed参数才能使用callback参数。

在1.8.2及之前的版本可以使用toggle,但在1.9版本之后就将其删除了(挺好用的,不知道为什么删除了=.=!)

那么就要用手动方式来代替他了,或者使用过渡版本的jQuery,下面是手动方式。

//使用toggle方法时$(‘button‘).click(function(){$("img").toggle();})
//手动实现toggle()方法
$(‘button‘).click(function(){
    if($("img").is(":hidden")){
        $("img").show();

    }else{
        $("img").hide();

    }
})

部分数据参考w3school

http://www.w3school.com.cn/jquery/effect_toggle.asp

时间: 2024-12-22 12:18:31

jQuery toggle() 方法与实例以及代替方法。的相关文章

Spring使用教程(二)配置bean:静态工厂方法和实例工厂方法

public class Car { private String brand; private double price; public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public double getPrice() { return price; } public void setPrice(double price) { this.

jquery toggle方法

.toggle(function, function, … ) link .toggle(function, function, ... ) removed This is the "click an element to run the specified functions" signature of .toggle(). It should not be confused with the "change the visibility of an element&quo

jQuery hover()方法和jQuery toggle()方法用法示例

jQuery hover()方法和jQuery toggle()方法是两个合成事件,类似ready()方法,都属于jQuery自定义的方法.下面来讲解这两个方法的属性和如何使用. 一.hover()方法:语法结构为: hover(enter,leave).用于模拟光标悬停事件.当光标移动到目标元素上时,会触发指定第1个函数(enter);当移出这个元素时,会触发第2个函数(leave). 下面是一段示例代码: $(function(){ $("#panel h5.head").hove

jQuery实例属性和方法

jQuery.fn = jQuery.prototype = {  //添加实例属性和方法 jquery : 版本 constructor : 修正指向问题 init() : 初始化和参数管理 selector : 存储选择字符串 length : this对象的长度 toArray() :  转数组 get() :  转原生集合 pushStack() :  JQ对象的入栈 each() :  遍历集合 ready() :  DOM加载的接口 slice() :  集合的截取 first()

jquery toggle 方法被废除的替代方法

今天使用 toggle 方法的时候,该方法一直不能生效. 原来jquery 的引入文件是1.9,该方法在1.8以上已被废除. 那么简单的切换状态,我们可使用if 语句进行代替 如下: 记录一开始设置隐藏(.none {display:none;}) 通过点击进行切换 //记录展开隐藏 $(function () { var flag = 1; $('.js-folder').click(function () { if (flag == 1) { $('.js-record').removeCl

jQuery源码解析(jQuery对象的实例属性和方法)

1.记录版本号 以及 修正constructor指向 jquery: core_version, constructor: jQuery, 因为jQuery.prototype={ ... } 这种写法将自动生成的jQuery.prototype.constructor属性覆盖删除,所以需要重新修正(指向其构造函数 jQuery).2.init() 初始化方法: init()方法最终返回的是this -jQuery(其实是jQuery.prototype.init)方法的实例对象. 实例对象继承

jquery toggle()方法 语法

作用:toggle() 方法用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件.该方法也可用于切换被选元素的 hide() 与 show() 方法. 向toggle事件绑定两个或多个函数:当指定元素被点击时,在两个或多个函数之间轮流切换.如果规定了两个以上的函数,则 toggle() 方法将切换所有函数.例如,如果存在三个函数,则第一次点击将调用第一个函数,第二次点击调用第二个函数,第三次点击调用第三个函数.第四次点击再次调用第一个函数,以此类推.大理石平台价格 语法:$

jQuery扩展$.fn、$.extend jQery命名方法扩展 练习总结

<script>$.fn.hello = function(){  //扩展jQuery实例的自定义方法,基于$.fn的jq方法扩展    this.click(function(){        alert('hello');    })}$('input').hello();  // 点击input正确出弹窗 'hello'</script> <script>$.fn.extend({  //用extend扩展jQuery实例的自定义方法    hello:fun

jquery判断单选按钮radio是否选中的方法

JQuery控制radio选中和不选中方法总结 一.设置选中方法 复制代码代码如下: $("input[name='名字']").get(0).checked=true; $("input[name='名字']").attr('checked','true');$("input[name='名字']:eq(0)").attr("checked",'checked'); $("input[name='radio_nam