Okay jetzt kommt es drauf an wie gut du JavaScript kannst.
Du müsstest folgende Dinge tun:
1. Den Wert aus dem Suchfeld verarbeiten und diesem ein "'#" voranstellen
2. Ein Click-Event auf einen Suchbutton legen
3. Eine Funktion schreiben die zu deinem Ankerpunkt scrollt
Ich zeige dir mal die jQuery-Variante, bei der ganz normalen JavaScript Variante müsstest du noch ein wenig selbst machen ;)
HTML:
HTML:
<!DOCTYPE html>
<html lang="de">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="./scroll.js"></script>
</head>
<body>
<input type="text" id="txt-scroll-to" placeholder="Suchen Sie im Glossar">
<a href="#" id="btn-search">Suche</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<h1 id="mittens">Mittens</h1>
<h1 id="maru">Maru</h1>
</body>
</html>
Die ganzen <br> sind bei mir nur dazu da, in der Höhe etwas Platz zu haben, damit auch gescrollt wird.
und die JavaScript-Datei:
Code:
(function($, window, document) {
$(function() {
// Suchfeld
var txt_scroll_to = $('#txt-scroll-to');
// Such-Button
var btn_search = $('#btn-search');
// "Eventlistener" für das Event "click" auf unserem Such-Button
btn_search.on({
"click": function() {
// Suchwert in Variable schreiben
var suchwert = txt_scroll_to.val();
// Funktion zum scrollen aufrufen
jQueryScrollTo(suchwert);
}
});
// JS-Version
function jsScrollTo(anchor) {
location.anchor = "#" + anchor;
}
// jQuery-Version
function jQueryScrollTo(anchor) {
$('html, body').animate({
'scrollTop': $('#' + anchor).offset().top
}, 1000);
}
});
}(window.jQuery, window, document));
Bei der ganz normalen JavaScript Variante müssstest du noch (am besten selbst) herausfinden, wie du ein Event auf ein Element legst und wann du wie dein JavaScript einbindest.
Hilft dir das erstmal?