javascript - 单击链接滚动到 div

标签 javascript jquery hyperlink scroll

关于这个主题到处都是问题,但我已经尝试了很多不同的脚本,但我无法让它在我的网站上工作。

我正在为自己构建一个个人组合 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;

这当然适用于任何以 $ 开头的变量。这些不应该被删除。

关于javascript - 单击链接滚动到 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15800175/

相关文章:

javascript - 动态箭头颜色

javascript - 使用 JavaScript 更改事件彩色图像

javascript - 如何在 JavaScript 中将日期增加一个月?接收未捕获的类型错误

c# - 在 Repeater 中渲染超链接控件

html - 我可以同时激活所有子悬停状态吗?

javascript - 图像不再像放在表格单元格布局中那样响应

JQuery .show().hide() 不让 CSS 悬停代码正常工作

php - 如何使用 jQuery 或 PHP 制作网页输出 XML?

javascript - 如何在调用对象后更改对象,以便可以将其插入链接

javascript - 如何将融合图(在网页中)保存为客户端计算机上的图像。?