jQuery脚本不适用于更高版本

时间:2015-10-27 22:29:09

标签: javascript jquery version

我有一个切换脚本,通过单击按钮来显示列表的高度。 问题是,它适用于1.8.3下的jQuery。但是我的网站目前使用的是2.1.4,那么脚本有什么问题呢?

$(document).ready(function() {
    var $dscr = $('#oplist'),
        $switch = $('#opbutton'),
        $initHeight = 100; // Initial height

    if( $dscr.height() <= $initHeight ) { 
        $switch.hide();
    }

    $dscr.each(function() {
        $.data(this, "realHeight", $(this).height()+20);    // Create new property realHeight
    }).css({ overflow: "hidden", height: $initHeight + 'px' });

    $switch.toggle(function() {
        $dscr.animate({ height: $dscr.data("realHeight") }, 100);
        $switch.text('show less');
    }, 
    function() {
        $dscr.animate({ height: $initHeight}, 100);
        $switch.text('show all');
    });
});

http://jsfiddle.net/68L0ho8q/

非常感谢您提前:))

1 个答案:

答案 0 :(得分:1)

https://api.jquery.com/toggle-event/

  

注意:此方法签名在jQuery 1.8中已弃用,在jQuery 1.9中已删除。 jQuery还提供了一个名为.toggle()的动画方法,可以切换元素的可见性。是否触发动画或事件方法取决于传递的参数集。

您现在需要实现自己的切换方法。

$switch.on("click", function () {
    var isActive = !!$(this).data("active");
    $(this).data("active", !isActive);
    if (isActive) {
      //active steps
    } else {
      //not active steps
    }
});