1

你们有什么想法让这个(http://hvlmnns​​.de /middle /)更顺畅吗?在我的系统上它卡住了一点。

有这种 ios 后卷效果也很好。

这是代码

$(document).ready(function(){
    var wx=$(window).width(),wy=$(window).height(),dx=$(document).width(),dy=$(document).height();
$('html,body').width(dx).height(dy).stop().animate({scrollTop:(dy-wy)/2,scrollLeft:((dx-wx)/2)},0);
$(document).mousemove(function(e){
    var x=(dx-wx)*((e.pageX-$(window).scrollLeft())/wx);
    var y=(dy-wy)*((e.pageY-$(window).scrollTop())/wy);
    $('body').scrollLeft(x).scrollTop(y);

});
});

我不确定这个动画和 dequeue() 的东西,但我认为它最终会是解决方案,但我怎么说不知道如何平滑滚动动画而不会一直停止。

4

1 回答 1

0

有点想通了 http: //hvlmnns​​.de/middle/

不是最顺利的事情,也不是最好的,但这必须完成工作

$(document).ready(function () {
    $('body').css({
        position: 'relative',
        margin: 0,
        padding: 0,
        overflow: 'hidden',
        width: '100%',
        height: '100%'
    })
    var wx = $(window).width(),
        wy = $(window).height(),
        dx = $(document).width(),
        dy = $(document).height();
    $('body').width(dx).height(dy).scrollTop((dy - wy) / 2).scrollLeft((dx - wx) / 2);
    var x = 0,
        y = 0;
    $(document).mousemove(function (e) {
        x = (dx - wx) * ((e.pageX - $(window).scrollLeft()) / wx);
        y = (dy - wy) * ((e.pageY - $(window).scrollTop()) / wy);
    });
    var obj = $('body');
    var xp = 0,
        yp = 0;
    $('body').scrollTop((dy - wy) / 2).scrollLeft((dx - wx) / 2);
    var loop = setInterval(function () {
        xp += (x - xp) / 60;
            yp += (y - yp) / 60;
        obj.scrollTop(yp).scrollLeft(xp);
    }, 1);
});
于 2013-04-25T18:23:05.893 回答