javascript - 向图像平移添加缓动

标签 javascript html css

我正在使用一些 JavaScript 和 jQuery(带有缓动插件)来创建虚拟游览;实际上只是一个可以左右平移的长图像。我发现这个非常适合这个原因:http://jsfiddle.net/MvRdD/1/ .有没有办法为动画添加缓动?

最佳答案

http://jsfiddle.net/ARTsinn/MvRdD/890/

$(document).ready(function() {
    $.getScript("https://raw.github.com/danro/easing-js/master/easing.min.js");
    var animateTime = 10,
        offsetStep = 5,
        scrollWrapper = $('#wrap');

    //event handling for buttons "left", "right"
    var aktiv;
    $('.bttL, .bttR').mousedown(function(e) {
        if (e.target.className === 'bttR') {
            aktiv = window.setInterval(function() {
                scrollWrapper.animate({
                    scrollLeft: '+=' + 20
                }, {
                    duration: 600,
                    queue: false,
                    easing: 'easeOutCirc'
                });
            }, 10);
        } else if (e.target.className === 'bttL') {
            aktiv = window.setInterval(function() {

                scrollWrapper.animate({
                    scrollLeft: '-=' + 20
                }, {
                    duration: 1200,
                    queue: false,
                    easing: 'easeOutCirc'
                });
            }, 10);

        }
    }).mouseup(function() {
        window.clearInterval(aktiv);
    });


    scrollWrapper.mousedown(function(event) {
        $(this).data('down', true).data('x', event.clientX).data('scrollLeft', this.scrollLeft);
        return false;
    }).mouseup(function(event) {
        $(this).data('down', false);
    }).mousemove(function(event) {
        if ($(this).data('down')) {
            $(this).stop(false, true).animate({
                scrollLeft: $(this).data('scrollLeft') + ($(this).data('x') - event.clientX) * 2
            }, {
                duration: 600,
                queue: false,
                easing: 'easeOutCirc'
            });
        }
    }).mousewheel(function(event, delta) {
        $(this).stop(false, true).animate({
            scrollLeft: '-=' + delta * 60
        }, {
            duration: 400,
            queue: false,
            easing: 'easeOutCirc'
        });
        event.preventDefault();
    }).css({
        'overflow': 'hidden',
        'cursor': '-moz-grab'
    });
});

关于javascript - 向图像平移添加缓动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12459913/

相关文章:

javascript - 如何使选择框动态化

javascript - react 。 onClick 事件未触发

javascript - 有没有办法使用 SVG 渐变作为置换贴图的输入?

android - 如何从 href =""在移动设备上打开 facebook native 应用程序

javascript - React 仅触发一次单选按钮的更改事件

html - 带圆 Angular 1px 边框的边框间距

javascript - 调试慢速网页的工具/插件

css - 在CSS中配置sub-sub垂直菜单

css - 调整 "ul hover"上的图片大小

javascript - 在 html 中显示来自 foreach 循环的 5 个结果