如何为回调函数分配速度参数

时间:2014-04-06 12:02:22

标签: javascript jquery css

我一直在试图弄清楚如何为回调函数分配速度,但不能。

在此计划中。

HTML:

<button type="button" id="trigger">Try</button>
<div id="box"></div>
<div id="bottom"></div>

CSS:

body
{
position: absolute;
background-color: white;
height: 1000%;
}
#box
{
position: absolute;
height: 300px;
width: 400px;
top: 100px;
left: 0px;
margin: 0px;
padding: 0px;
border-color: black;
background-color: black;
opacity: 0;
}
#bottom
{
position: absolute;
bottom: 0px;
height: 100px;
width: 100%;
background-color: black;
}

JS:

$(document).ready(function () {
    $("#trigger").click(function () {
        var ele = document.getElementById('bottom');
        var pos = ele.getBoundingClientRect();
        var x = pos.left;
        var y = pos.top;
        $("#box").animate({
            left: "100px",
            opacity: "1"
        }, "slow", function () {
            window.scrollTo(x, y);
        }, "slow");
    });
});

在从回调中移除速度时,它可以正常工作,但没有成功。 如何为它分配速度,提前谢谢。

小提琴:http://jsfiddle.net/9C8kr/

1 个答案:

答案 0 :(得分:1)

您已将速度加两次,最后一次无效 如果要为滚动设置动画,请执行此操作

$(document).ready(function () {
    $("#trigger").click(function () {
        var ele = document.getElementById('bottom');
        var pos = ele.getBoundingClientRect();
        var x   = pos.left;
        var y   = pos.top;
        $("#box").animate({
            left: "100px",
            opacity: "1"
        }, "slow", function () {
            $('html, body').animate({
                scrollLeft : x,
                scrollTop  : y
            }, 'slow');
        });
    });
});

FIDDLE