javascript - 顺畅抓取

标签 javascript user-interface acceleration

我做了一个简单的 grabbing demo page .它没有任何缓和/加速。我想做与 kulesh.info 相同的缓动/加速(Flash 网站)使用 JavaScript。我该怎么做?

任何在 JavaScript 中平滑抓取(滚动、拖动)的示例以及与语言无关的算法都会有所帮助。

最佳答案

我认为这是使用 jQuery 可以获得的最佳效果:[ Demo ]

jQuery.fx.interval = 1; // since v1.4.3
var photos = $(".photos");
var scrollLeft = photos[0].scrollLeft;
var $el = $(photos[0]);
var lastTime = +new Date();


$(window).mousemove(function(event){
    var now = +new Date();
    var elapsed = now - lastTime;
    if (dragging && elapsed > 10) {
        scrollLeft += x - event.clientX;
        $el.stop().animate({scrollLeft:  scrollLeft}, 300, "easeOutCubic");
        x = event.clientX;
        lastTime = +new Date();
    }
});

$(window).mouseup(function(event){
    dragging = false;
    $el.stop().animate({scrollLeft:  scrollLeft}, 500, "easeOutCubic");
});

请注意,目前无法纠正所有可能的(轻微)迟缓,因为它与现代浏览器的图像渲染性能有关。 Test - 简单的线性动画,没有事件,没有 jQuery

关于javascript - 顺畅抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4234489/

相关文章:

javascript - 正则表达式仅适用于字符 0-9?

java - 跨多个类使用单个 JFrame

java - 输入对话框显示随机 "-1"

java - 使 JDialog 按钮响应 Enter 键

javascript - 鼠标移动时滚动窗口

java - 每次在 libgdx 中单击按钮时,如何向前和向后移动 Sprite?

javascript - React Native Navigator renderView 返回条件不合逻辑

javascript - 如何从javascript中的字符串末尾提取整数

javascript - 在 Powershell 中获取 JavaScript 结果

javascript - 如何使用 javascript 构建加速滚动效果?