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