我的页面有一个ID(#C2),其他html页面将加载到该页面中(产生单个页面的效果)。加载是通过以下javascript完成的:
function ShowAjax(type) {
var filename = "text_" + type + ".htm"
$( "#C2" ).hide().load( filename ).fadeIn(500);
在加载到主页ID中的页面之一上,我需要“滚动到顶部”。为此,我使用了带有单击处理程序的div,该处理程序调用了javascript jquery函数(ScrollTop)。这是链接:
<div class="C1"><button class="button_01" id="first" onclick="ScrollTop();">Scroll to Top</button></div>
这是javascript / jquery:
<script>
function ScrollTop(){
$("a[href='#bkmkAA']").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;}
});</script>
我的问题是,单击时它什么也没做,而Firefox开发者控制台说:
“ ReferenceError:未定义ScrollTop。”我的页面上都有js,并且此javascript绝对是在页面上定义的。
我的问题是,这是否与页面加载到主页ID(不太可能)或其他有关。
感谢任何想法或建议。
更新:
@Robin Zigmond-以下是页面上最后一段的外观:
<div class="h1_info" id="bkmk24"><b>Section Header 24</b></div><br><div class="set_01">Sentence 1. Sentence 2. Sentence 3. Sentence 4.<div class="C1"><button class="button_01" id="first" onclick="ScrollTop()";">Scroll to Top()_NEW</button></div></div><br>
<script>
function ScrollTop(){
$("a[href='#bkmkAA']").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;}
});</script>
由此看来,脚本已在范围内,因为它紧接在上一段末尾。我想念什么?
答案 0 :(得分:1)
您没有正确调用该函数。将您的HTML代码更改为以下内容:
myResponseObject.data: IObject
此外,您无需在<div class="C1"><button class="button_01" id="first" onclick="ScrollTop()">Scroll to Top</button></div>
函数中绑定事件。将其替换为以下内容,即可完成:
scrollTop()
纯JavaScript:
function ScrollTop(){
$("html, body").stop().animate({ scrollTop: 0 }, "slow");
return false;
}
如果要滚动到页面部分,请签出this blog post。