我正在使用jQuery animate将div滑出页面,效果很好,但我想将animate更改为:


只发生一次(因为如果有人双击它,div就会回来),并且
等待动画完成,然后再按href。


这是执行div幻灯片的代码:

$(".choose").click(function(event) {
    var $contentDiv = $("#content");

    $contentDiv.stop().animate({
        marginLeft: parseInt($contentDiv.css('marginLeft'),10) == 0 ?
        $contentDiv.outerWidth() : 0
    });
});

最佳答案

您可以调用event.preventDefault()来阻止默认的点击操作,然后通过在动画后使用回调设置location.href来进行手动重定向...

$(".choose").click(function(event) {
    var $contentDiv = $("#content");
    var redir = $(this).attr("href");

    $contentDiv.stop().animate({
        marginLeft: parseInt($contentDiv.css('marginLeft'),10) == 0 ?
        $contentDiv.outerWidth() : 0
    }, function() { location.href = redir; });

    event.preventDefault();
});

10-08 03:39