jquery 中scrollTop在Firefox下不起作用_html/css_WEB-ITnose

WBOY
發布: 2016-06-24 11:29:41
原創
1174 人瀏覽過

 

 

Animate scrollTop not working in firefox

up vote 115 down vote favorite

21

This function works fine. It scrolls the body to a desired container's offset

function scrolear(destino){ var stop = $(destino).offset().top; var delay = 1000; $('body').animate({scrollTop: stop}, delay); return false;}
登入後複製

But not in Firefox. Why?

-EDIT-

To handle de double trigger in the acepted answer, I suggest stoping the element before the animation:

$('body,html').stop(true,true).animate({scrollTop: stop}, delay);
登入後複製

10 Answers

active oldest votes

up vote 240 down vote accepted

Firefox places the overflow at the html level, unless specifically styled to behave differently.

To get it to work in Firefox, use

$('body,html').animate( ... );
登入後複製

Working example

The CSS solution would be to set the following styles:

html { overflow: hidden; height: 100%; }body { overflow: auto; height: 100%; }
登入後複製

I would assume that the JS solution would be least invasive.

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板