2016-12-28 4 views
1

Ich habe eine Liste von Fragen, die Benutzer ausfüllen sollten. Fragen vom Typ ja oder nein sind solche, die je nach Wahl auf eine andere Fragezahl wechseln können. zum Beispiel eine Frage im Radioknopf.wie scrollen nach unten in jquery

  1. Sind Sie verheiratet? ja Nein

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

I blättern will die Nummer 2 in Frage zu stellen, ob die Antwort ist ja und Fragenummer 10, wenn Nr In diesem Codebeispiel wird mich nicht auf die genaue Frage Nummer nehmen.

wie kann ich das in jquery erreichen?

+0

Warum nicht einfach ein 'div' mit einem eindeutigen' id' Attribut erstellen und jQuery verwenden, um den Text der aktuellen Frage in dieses Element zu schreiben? Dann, abhängig von der Antwort, die der Besucher gibt, benutzen Sie jQuery, um die nächste Frage auszuwählen, löschen Sie den Inhalt des 'div' und schreiben Sie den Text der neuen Frage hinein? Ich denke, dass das Scrollen immer ein Treffer ist, also ist es besser, einfach Text innerhalb eines bestimmten Elements zu schreiben und zu löschen. – Bobulous

+0

können Sie bitte Beispielcode in JSFiddle geben –

+0

Um diese Frage zu beantworten, benötigen wir weitere Informationen. Hier ist eine Beispielgeige, die funktioniert (https://jsfiddle.net/sx0dg8nt/), aber ohne mehr Kontext von dir gibt es keine Möglichkeit herauszufinden, was schief läuft. Wie bereits von anderen angegeben; Diese Codezeile, die Sie eingefügt haben, sieht korrekt aus, daher muss das Problem irgendwo anders in Ihrem Code liegen. –

Antwort

1

Das einzige, was Sie ändern müssen ist der Wert für scrollTop. Sie können einfach die Anzahl der Pixel addieren oder subtrahieren, um die der Bildlauf verschoben werden soll. Zum Beispiel:

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

Hier ist ein Beispiel. Wenn Sie auf das erste Element klicken, scrollt es 50 Pixel vorbei, wo es normalerweise wäre.

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

hoffe, das hilft!

0

Hier ist es mit Beispiel Arbeits Simple jQuery scroll to anchor up or down the page...?

Wenn Sie überprüfen wollen, was gewählt wurde, Sie als Griff Ereignis des Feldes setzen können Sie reagieren wollen und in damit umgehen Sie den Wert überprüfen und wenn es das ist, was du willst, wirst du sonst nicht blättern, aber denke darüber weise nach (was selbst du gewählt hast und ob es für den Benutzer nicht zu sehr nervig wird).

0

Sie müssen beobachten und erfassen die Click-Ereignis Radio-Button, wie folgt aus:

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

hier ist die Demo: http://codepen.io/mkdizajn/pen/ObeepY?editors=1010

hth, k

Verwandte Themen