2016-12-28 28 views
1

我有一個用戶應填寫的問題列表。類型爲「是」或「否」的問題是那些可以根據所選內容轉移到另一個問題編號的問題。例如單選按鈕中的問題。如何在jQuery中滾動到下降

  1. 你的婚姻? 是 沒有

$ ('body,html').animate({scrollTop: $("#"+anyQuestionId).offset().top}, 1000);

我要滾動質疑2號如果響應是肯定的,題號10時 號此代碼示例不帶我去的確切問題編號。

我怎麼能在jQuery中實現這一點?

+0

爲什麼不只是用獨特的'id'屬性創建'div',並使用jQuery將當前問題的文本寫入該元素?然後,根據訪問者給出的答案,使用jQuery選擇下一個問題,清除「div」的內容並將新問題的文本寫入該問題中?我認爲滾動將總是被碰撞,所以你最好只是在特定元素內編寫和清除文本。 – Bobulous

+0

可以請你給JSFiddle示例代碼 –

+0

爲了回答這個問題,我們需要更多的信息。這裏有一個示例小提琴(https://jsfiddle.net/sx0dg8nt/),但沒有更多的上下文,沒有辦法找出問題所在。正如其他人所說的那樣;您包含的代碼行看起來是正確的,所以問題必須在代碼中的其他位置。 –

回答

1

您需要更改的唯一的事是scrollTop的值。您可以簡單地添加或減去要偏移滾動的像素數。例如:

$('html, body').animate({ 
     scrollTop: $("#"+anyQuestionId).offset().top + 50 
}, 1000); 

下面是一個示例。如果你點擊第一個元素,它將滾動50個像素點到它通常的位置。

https://codepen.io/simsketch/pen/JbQQML

希望這有助於!

0

下面是它的工作例如Simple jQuery scroll to anchor up or down the page...?

如果你想檢查選擇什麼,你可以把你要反應領域的事件的處理,在這種處理可以檢查值和如果你想要的東西你會滾動,否則不滾動,但明智地思考(甚至你選擇,如果它不會太多煩人的用戶)。

0

您需要觀看和拍攝的單選按鈕,單擊事件,像這樣:

$('.radio input').on('click', function(el){ 
    console.log($(this).prop('checked')) 
    if($(this).prop('checked')){ 
     $('body,html').animate({scrollTop: $(".red").offset().top}, 1000); 
    } 
}) 

這裏是演示:http://codepen.io/mkdizajn/pen/ObeepY?editors=1010

心連心,K