Ich habe das folgende jquery-Skript, um einen Link zu einer neuen Seite zu öffnen und einen Scroll-Effekt zu haben. Allerdings kann ich es in Firefox 11.0 nicht zum Laufen bringen.Jquery setTimeout funktioniert nicht in Firefox 11.0
var jump = function (e) {
if (e) {
e.preventDefault();
var target = $(this).attr("href");
} else {
var target = location.hash;
}
$('html,body').animate(
{
scrollTop: $(target).offset().top
}, 2000, function() {
location.hash = target;
});
}
$('html, body').hide();
$(document).ready(function() {
$('a[href^=#]').bind("click", jump);
if (location.hash) {
setTimeout(function() {
$('html, body').scrollTop(0).show();
jump();
}, 1000);
} else {
$('html, body').show();
}
});
Es bleibt nur eine Schleife über diesen Teil von setTimeout und beginnt dann wieder am Anfang.
$('html, body').scrollTop(0).show();
jump();
Und das passiert nur in Firefox 11.0 Weiß jemand, wie man das oder eine Arbeit um zu beheben?
setTimeout() ist eine native JavaScript-Funktion, nicht jQuery-spezifisch. – Spudley
Ich bin ein wenig verwirrt darüber, was genau passiert ist, sollte nicht sein. Können Sie eine Datei erstellen, um dies zu reproduzieren? – idrumgood
Ich benutze asp.net mvc, also nicht sicher, ob es mit jsfiddle funktioniert. Aber ich habe es live auf einem meiner Links auf unserer Website, wenn das hilft. www.hovdenoil.com schweben über Schmierstoffe und klicken Sie lubriplate –