JavaScript 适用于 Chrome 不适用于 Firefox
JavaScript works in Chrome not in Firefox
我的导航栏在 Chrome(41.0.2272.89) 中有效,但在 Firefox(36.0.1) 中无效。
HTML
<div class="collapse navbar-collapse" id="navbar">
<ul class="nav navbar-nav">
<li class="active"><a class="navBtn" onclick="scrollTo(home)" title="#home">Home</a></li>
<li><a class="navBtn" onclick="scrollTo(about)" title="#about">About</a></li>
<li><a class="navBtn" onclick="scrollTo(clients)" title="#clients">Clients</a></li>
<li><a class="navBtn" onclick="scrollTo(portfolio)" title="#portfolio">Portfolio</a></li>
<li><a class="navBtn" onclick="scrollTo(contact)" title="#contact">Contact</a></li>
</ul>
</div><!-- /.navbar-collapse -->
使用一个简单的点击,它会激活我的 JS
JS
function scrollTo(element) {
if(element == document.getElementById('home')) {
$('html, body').animate({
scrollTop: $(element).offset().top - 54
}, 500);
} else {
$('html, body').animate({
scrollTop: $(element).offset().top - 53
}, 500);
}}
JS 似乎在 Chrome 中激活,但在 Firefox 中未激活。
应该发生的是,当您单击某个项目时,站点将向下滚动到该项目。这曾经很好用,但现在突然不再有效了。
示例HERE
在我看来,您的 onclick 定义有误。
而不是:
<li><a class="navBtn" onclick="scrollTo(about)" title="#about">About</a></li>
尝试在 DIV 名称周围使用单引号,例如:
<li><a class="navBtn" onclick="scrollTo('about')" title="#about">About</a></li>
这还需要对函数代码进行一些调整,以处理传递 DIV 的名称而不是对象的名称。
scrollTo 必须是保留字,因为它们有自己的 Window.scrollTo() 功能。
function moveTo(element) {
if(element == document.getElementById("home")) {
$("html, body").animate({
scrollTop: $(element).offset().top - 54
}, 500);
} else {
$("html, body").animate({
scrollTop: $(element).offset().top - 53
}, 500);
}}
因此更改函数名称后返回正常功能。
我的导航栏在 Chrome(41.0.2272.89) 中有效,但在 Firefox(36.0.1) 中无效。
HTML
<div class="collapse navbar-collapse" id="navbar">
<ul class="nav navbar-nav">
<li class="active"><a class="navBtn" onclick="scrollTo(home)" title="#home">Home</a></li>
<li><a class="navBtn" onclick="scrollTo(about)" title="#about">About</a></li>
<li><a class="navBtn" onclick="scrollTo(clients)" title="#clients">Clients</a></li>
<li><a class="navBtn" onclick="scrollTo(portfolio)" title="#portfolio">Portfolio</a></li>
<li><a class="navBtn" onclick="scrollTo(contact)" title="#contact">Contact</a></li>
</ul>
</div><!-- /.navbar-collapse -->
使用一个简单的点击,它会激活我的 JS
JS
function scrollTo(element) {
if(element == document.getElementById('home')) {
$('html, body').animate({
scrollTop: $(element).offset().top - 54
}, 500);
} else {
$('html, body').animate({
scrollTop: $(element).offset().top - 53
}, 500);
}}
JS 似乎在 Chrome 中激活,但在 Firefox 中未激活。
应该发生的是,当您单击某个项目时,站点将向下滚动到该项目。这曾经很好用,但现在突然不再有效了。
示例HERE
在我看来,您的 onclick 定义有误。
而不是:
<li><a class="navBtn" onclick="scrollTo(about)" title="#about">About</a></li>
尝试在 DIV 名称周围使用单引号,例如:
<li><a class="navBtn" onclick="scrollTo('about')" title="#about">About</a></li>
这还需要对函数代码进行一些调整,以处理传递 DIV 的名称而不是对象的名称。
scrollTo 必须是保留字,因为它们有自己的 Window.scrollTo() 功能。
function moveTo(element) {
if(element == document.getElementById("home")) {
$("html, body").animate({
scrollTop: $(element).offset().top - 54
}, 500);
} else {
$("html, body").animate({
scrollTop: $(element).offset().top - 53
}, 500);
}}
因此更改函数名称后返回正常功能。