簡體   English   中英

滾動到div,然后點擊鏈接

[英]Scroll to div on link click

到處都有關於這個主題的問題,但是我為此嘗試了許多不同的腳本,但是我無法使其與我的網站一起使用。

我正在為自己建立一個個人投資組合wordpress主題,並希望將其保持為一頁主題。 我想要的是當用戶單擊導航上的鏈接時,頁面向下滾動到該部分。 容易吧? 沒有。

我不知道為什么它不能在我的網站上運行,但是我認為這與我用於滾動到固定導航的腳本有關。

這是我當前試圖用來創建此頁內導航滾動效果的腳本: http : //css-tricks.com/snippets/jquery/smooth-scrolling/

這是我用來創建滾動到固定導航效果的腳本:

window.onscroll=function () {
    var top = window.pageXOffset ? window.pageXOffset : document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
    if(top > 640){
        document.getElementById("nav").style.position = "fixed";
        document.getElementById("nav").style.height="65px";
    } else {
        document.getElementById("nav").style.position = "relative";
        document.getElementById("nav").style.height="65px";
    }
}

您可以在http://www.tylerb.me上查看我正在嘗試執行的網站

這兩個腳本是否相互矛盾,使其中之一不起作用?

看來wordpress使用jQuery.noConflict()方法來防止發生沖突。 由於腳本沖突(例如,moo工具也使用$),請將每個$替換$ jQuery 這應該可以解決您的問題..我的意思是在調用插件的代碼中,而不是插件本身。

例:

//normal jquery method call:
$("element").method(etc);

//with noConflict code:
jQuery("element").method(etc);

更新1:

看來您忘記了留下特定的$ 這行:

var target = jQuery(this.hash), target = this.hash;

應該是這樣的:

var $target = jQuery(this.hash), target = this.hash;

當然,這與以$開頭的任何變量都匹配。 這些不應該被刪除。

您問題的核心是jQuery無法加載。

在此處輸入圖片說明

達達洛斯剛到我那里。 不會引起您的問題的沖突。 只需使用jQuery而不是$。

這可能對某些人有用。

嘗試使用:

jQuery(document).ready(function($){
    // do stuff here using $
});

代替

$(document).ready(function($){
    // do stuff here
});

這將聲明一個本地$而不是與先前聲明的沖突。

它幫助了我很多次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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