[英]Can't get page to scroll to top on click
因此,我正在将网页从基本结构迁移到WordPress,并且其中一个页面具有目录。 ToC具有加号,可让您扩展ToC的不同区域,当您单击链接而没有点击链接时,正文会正确滚动,但是,整个页面的实际HTML标记并未向上滚动。
因此,基本上,这是页面布局的一个非常粗糙的模拟
<html overflow-y: scroll; margin-left/right: auto; width: 1235px;>
<body overflow-y: scroll>
...primary content here centered by html css
</body>
</html>
因此,基本上,单击加号会正确使用href标记来设置BODY滚动窗口,但是,由于html文档也无法滚动,因此无法使页面与您刚刚单击导航的部分的标题正确对齐至。 这是加号使用的openClose函数的代码:
function openClose(theName, menuArray, theID) {
for(var i=0; i < menuArray.length; i++) {
if (menuArray[i] == theID) {
if (document.getElementById(theID).style.display == "block") {
document.getElementById(theID).style.display = "none";
document.getElementById("tick_"+menuArray[i]).innerHTML = "+";
eraseCookie(theName); }
else {
document.getElementById(theID).style.display = "block";
document.getElementById("tick_"+menuArray[i]).innerHTML = "-";
newCookie(theName,menuArray[i],exp); }
}
else {
document.getElementById(menuArray[i]).style.display = "none";
document.getElementById("tick_"+menuArray[i]).innerHTML = "+"; }
}
$(window).scrollTop(0); // this is just one of many examples
}
scrollTop
只是我尝试过的许多示例之一,可以使HTML文档滚动到顶部,但是,似乎什么也做不了。 我不是要滚动正文,而是要滚动主垂直滚动条。 我发现在openClose on click函数中,我会将这种函数放在最后,以便在导航到on click事件定义的位置后,它将整个文档向上滚动。 但是同样,什么也没有发生。 我是否缺少简单的东西?
我用Google搜索并找到了另一个页面使用JavaScript / jQuery滚动到页面顶部? 但所有示例均无效。
除非您定义了$ word,否则您不能在wordpress中对jquery使用$符号。 用单词“ jQuery”切换,以便在每个地方使用$,使用“ jQuery”。 如果您查找安全模式的jquery,还有其他方法。
还可以使用控制台-chrome / firefox =右键单击页面元素,然后选择“检查元素”,您将在出现的窗口的顶部菜单上看到控制台。 它将显示js错误。 在上面的代码中,您将看到“未定义不是函数”经典jQuery未加载错误(或者您与$符号有冲突,需要使用安全模式jquery),并且您将看到“意外”错误缺少一些括号。
function openClose(theName, menuArray, theID) {
for(var i=0; i < menuArray.length; i++) {
if (menuArray[i] == theID) {
if (document.getElementById(theID).style.display == "block") {
document.getElementById(theID).style.display = "none";
document.getElementById("tick_"+menuArray[i]).innerHTML = "+";
eraseCookie(theName);
} else {
document.getElementById(theID).style.display = "block";
document.getElementById("tick_"+menuArray[i]).innerHTML = "-";
newCookie(theName,menuArray[i],exp);
}
} else {
document.getElementById(menuArray[i]).style.display = "none";
document.getElementById("tick_"+menuArray[i]).innerHTML = "+";
}
}
jQuery(window).scrollTop(); // this is just one of many examples
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.