【问题标题】:Scroll To Horizontall issues, timeline jquery滚动到水平问题,时间线 jquery
【发布时间】:2015-05-19 03:19:40
【问题描述】:

我的 scrollTo 出现问题,它似乎没有滚动到水平锚点。

看起来锚的位置正在重置。

http://jsfiddle.net/6nqv78wp/7/

$(".jq-timeline-header").click(function (e) {
    if ($(window).width() < 768) {
        $(this).next().toggle();
    }
});


$('.jq-scrollto').bind('click', function (event) {
    console.log($($(this).attr('href')).offset().left)
    $('.jq-scrollto').removeClass('active');
    $(this).addClass('active');
    $('.jq-timeline-inner').stop().animate({
        scrollLeft: $($(this).attr('href')).offset().left
    }, 1000);
    consoleLog();
    event.preventDefault();
});

var x, y, top, left, down;

$(".jq-timeline-inner").mousedown(function (e) {
    e.preventDefault();
    down = true;
    x = e.pageX;
    y = e.pageY;
    top = $(this).scrollTop();
    left = $(this).scrollLeft();
});

$(".jq-timeline-inner").mousemove(function (e) {
    if (down) {
        var newX = e.pageX;
        var newY = e.pageY;

        //console.log(y+", "+newY+", "+top+", "+(top+(newY-y)));

        $(this).scrollTop(top - newY + y);
        $(this).scrollLeft(left - newX + x);
    }
});

$(".jq-timeline-inner").mouseup(function (e) {
    down = false;
});

【问题讨论】:

    标签: jquery html css timeline


    【解决方案1】:

    更改 JQuery 将解决您的问题:

     $('.jq-scrollto').bind('click', function (event) {
    
            console.log($($(this).attr('href')).offset().left);
    
            $('.jq-scrollto').removeClass('active');
            $(this).addClass('active');
    
    
            $('.jq-timeline-inner').stop().animate({
                scrollLeft:  $($(this).attr('href')).offset().left + $('.jq-timeline-inner').scrollLeft()  //Changes here.
            }, 1000);
            event.preventDefault();
        });
    

    查看Fiddle Here.

    【讨论】:

    • 嗨,非常感谢你,你能不能再解释一下为什么我们必须再次调用 scrolleft ?
    • $($(this).attr('href')).offset().left 在滚动时将设置为 0。所以我们必须在滚动后添加当前位置$('.jq-timeline-inner').scrollLeft()
    • 滚动后可以在这里获取。 1000,function(){ console.log($('.jq-timeline-inner').scrollLeft()); });检查jsfiddle.net/6nqv78wp/9
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多