2016-04-18 6 views
-1

Ich habe eine Liste von div und möchte, dass wenn ich auf einen von ihnen klicke, die Seite scrollt, bis das angeklickte Element oben in der Ansicht ist. Mein Code: http://jsfiddle.net/rcxnogmx/Scrollen Sie nach oben relativ zum angeklickten Element

Js Code:

$(document).ready(function(){ 
    $("#click").click(function(){ 
     $('html, body').scrollTop($(this).offset().top); 
    }); 
}); 

ich scrollTop versucht habe -> das, aber es funktioniert nicht

+4

** 'ID's müssen eindeutig sein. ** – RRK

+5

Es gibt kein' # click' Element. – Rayon

+0

_Die Seite scrollt, bis das angeklickte Element oben auf der Ansicht ist_ <- Dies ist nicht klar. – rmondesilva

Antwort

0

die Sie interessieren ..

Ja, id sollte für jedes Element eindeutig sein.

Anstatt nach ID, können Sie es nach Klasse tun. Sie können dem DIV "Scrolling" den Klassennamen geben.

Element, das "Scrollen" Klasse Click-Ereignis scrollTop seine hat Offset oben

$(document).ready(function(){ 
    $(".scrolling").click(function(){ 
     $('html, body').scrollTop($(this).offset().top); 
    }); 
}); 

Demo

0

du ohne Javascript tun könnte. Mit Standard-HTML-Ankern können Sie ein Element mit einer bestimmten ID nach oben scrollen. Das gescrollt Element kann der Anker selbst:

<a id="this-anchor" href="#this-anchor">jump here</a> 
0

prüfen Link

http://jsfiddle.net/rcxnogmx/2/

$(document).ready(function(){ 
    $("div").click(function(){ 
     $('html, body').scrollTop($(this).offset().top); 
    }); 
}); 
0

Die 'klicken' id nicht in Ihrem HTML existiert.