无法真正解决这个问题。
我正在进行一个测验,我使用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();
}
答案 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++;
}