Jquery在旧版本中工作的问题,但不是更新版本

时间:2014-06-15 14:37:50

标签: jquery

我有这个Jquery,我已经设法让它工作(我不是很擅长jQuery)。但我无法在v1.11.0中使用它。这将在v1.8.3中有效。当我打开版本时,clickme按钮似乎被吞没了。 这是Fiddle链接 http://jsfiddle.net/meD7b/782/

以下是那些能够在不必看小提琴的情况下看到它的人的代码。 JQUERY

$("#dropbuttons").css({"top": "0px"});
$("#drop_button").toggle(function () { 
    $("#dropbuttons").animate({"top": "+115px"}, "slow"); 
},
function () { 
    $("#dropbuttons").animate({"top": "0px"}, "slow"); 
}); 

我已经尝试过全面搜索以找出原因,但我无法弄明白。 有人可以帮助我在1.11.0版本中使用它吗?

2 个答案:

答案 0 :(得分:2)

Toggle Event

  

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

目前 toggle() 是jQuery提供的动画方法。


<强> Updated Fiddle

$("#div2").css({"top": "0px"});
$("#clickme").click(function () {
    if ($('#div2').css('top') !== '115px') {
        $("#div2").animate({"top": "+115px"}, "slow");
    } else {
        $("#div2").animate({"top": "0px"}, "slow");
    }
});

答案 1 :(得分:1)

因为.toggle()事件在1.8中已弃用,并且您希望使用1.11+,您可以执行与this jsFiddle example类似的操作

使用.on代替处理点击事件。

$("#clickme").on('click', function(event) {
    var toggle = $("#div2"),
        animation = { top : "+115px" };

    if (toggle.css('top') !== "0px")
        animation.top = "0px";

    toggle.animate(animation, "slow");
});

此示例没有检查动画是否正在进行中,您可能希望在使用之前添加该动画。

如果您愿意,也可以使用.toggle动画而不是条件css检查。