Ich habe sehr wenig Erfahrung mit Websprachen, so dass dies ein einfacher Fehler sein kann.Script nicht ausgeführt
Ich habe eine Webseite mit internen Links wie in <a href="#div-id">button</a>
. Aufgrund eines responsiven Bootstrap-Menüs übersteuert das Scrollen jedoch manchmal. Das Problem wird genau wie in einer vorherigen Frage beschrieben und ich versuchte, die akzeptierte Lösung zu implementieren:
How can I use HTML ID links with the Bootstrap navbar-header?
Allerdings ist die vorgeschlagene Funktion nie ausgeführt. Ich habe es wie folgt implementiert. Als narrensichere Testmethode habe ich zwei Alert-Anweisungen (eine für eine nicht verwandte Funktion) eingefügt. Die erste Alert-Anweisung wird ordnungsgemäß ausgeführt, die zweite wird nie ausgeführt.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(function() { // on document ready
var div = $('#showOrHideDiv'); // cache <div>
$('#action').click(function() { // on click on the `<a>`
alert('here'); // => PROPERLY EXECUTED
div.fadeToggle(1000); // toggle div visibility over 1 second
});
// listen for click events originating from elements with href starting with #
$('body').on('click.scroll-adjust', '[href^="#"]', function (e) {
alert('here'); // => NEVER EXECUTED
var $nav;
// make sure navigation hasn't already been prevented
if (e && e.isDefaultPrevented()) return
// get a reference to the offending navbar
$nav = $('div.navbox')
// check if the navbar is fixed
if ($nav.css('position') !== "fixed") return
// listen for when the browser performs the scroll
$(window).one('scroll', function() {
// scroll the window up by the height of the navbar
window.scrollBy(0, -$nav.height())
});
});
});
</script>
Kann jemand den Fehler in meiner Implementierung aufzeigen?
Sie nie hinzugefügt Click-Ereignis ... Überprüfen Sie die auf Syntax. – Jason
Ich kopiere einfach diese Skripte, ich kann sie nicht richtig schreiben. Aber nach dem Kommentar (nicht meiner), sollte dies alle Klickereignisse auf Verbindungen mit 'href's beginnend mit einem' # 'auswählen? Aber ich denke, das tut es nicht. Irgendwelche Vorschläge, wie das aussehen soll? – Scipio
Es ist geschrieben wie .on ("click", "a [href^= '#']", Funktion (e) { – Jason