LeftScroll时间到了

时间:2013-02-28 15:29:35

标签: jquery animation

无法真正解决这个问题。 我正在进行一个测验,我使用scrollLeft-jQuery函数来进行下一个问题。 所以我有一个计时器,当结束时我希望调用scrollLeft函数。 这适用于第一个问题,但不是下一个问题。我知道这是因为它只针对.aAnswers li a的第一个href =“#”。 我如何才能获得正确的目标?

HTML:http://www.carlpapworth.com/friday-quiz/

JS:

function timesUp(){
            $('#timerBar').animate({'width':'0px'}, 1800, function(){
                nextQuestion(function(){
                    resetTimer();
                }); 
            });                 
}

function nextQuestion(event){
    var $anchor = $('.qAnswers a');
     $('#qWrap').stop(true, true).animate({
        scrollLeft: $($anchor.attr('href')).position().left
        }, 2000, function(){
            resetTimer();
        });

     event.preventDefault();
}

function resetTimer(){
    $('#timerBar').css('width', '100%');
    timesUp();
}

function stopTimer(){
    $('#timerBar').stop();
}

2 个答案:

答案 0 :(得分:0)

首先你有一个错误:“TypeError:event.preventDefault不是一个函数”。这可能会阻止您期望的流量。

答案 1 :(得分:0)

您的目标始终是相同的链接而不更新它,请尝试此

// >> define here
var $anchors = $('.qContainer');
var i = 0;
function nextQuestion(event){
     $('#qWrap').stop(true, true).animate({
        scrollLeft: $anchors.get(i).position().left
        }, 2000, function(){
            resetTimer();
        });
     event.preventDefault();
     // >> update here
     i++;
}