首页 > web前端 > html教程 > jquery 中scrollTop在Firefox下不起作用_html/css_WEB-ITnose

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

WBOY
发布: 2016-06-24 11:29:41
原创
1188 人浏览过

 

 

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板