簡體   English   中英

點擊時無法滾動到頁面頂部

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM