Javascript jQuery函数在本地无法工作
我用jQuery为一个站点创建了两个函数。这是一个固定的标题和一个平滑的滚动。广泛使用和良好记录。对于fixed header,我首先将最基本的内容存储在变量中,然后存储函数本身以执行它。 JavaScript jQuery 以下部分包装在$window.load中 HTML翡翠 问题 事实上,…根本没有问题…它的行为就像我想要的那样。事实上,大约一周前,这对我来说非常有效。 但是: 从昨天开始,在当地工作时,奇怪的事情发生了: “act”功能不会在我的系统的任何浏览器中执行。 平滑滚动功能不会在Chrome或Safari中启动。我想 这与没有执行“act”功能有关。 jQuery本身工作得很好,因为我确实首先执行了一个.removeClass,它可以在see fiddle中工作,而且我还尝试调试只在所有div中添加一些随机类,这解决了w/o问题。 没有控制台错误。 我反复检查了.jade文件、编译的.html文件和源代码中的拼写和打字错误,并将其与我的小提琴进行了来回比较。代码是相同的。。。 有关我的设置的更多详细信息: 用于编译的代码包2.1.1正常 用Jade编写的HTML编译好了吗 页面底部$window.load中包装的JavaScript 在OSX 10.9.4上设置本地主机 在Chrome 36、Safari 7、FF 31和Opera 23中测试 在我的虚拟机上使用Windows 7和IE 11测试了小提琴,这很正常 在我的带有Windows 7和IE 11的虚拟机上以独立方式测试了该页面,但与上面的测试结果不同Javascript jQuery函数在本地无法工作,javascript,jquery,localhost,pug,addclass,Javascript,Jquery,Localhost,Pug,Addclass,我用jQuery为一个站点创建了两个函数。这是一个固定的标题和一个平滑的滚动。广泛使用和良好记录。对于fixed header,我首先将最基本的内容存储在变量中,然后存储函数本身以执行它。 JavaScript jQuery 以下部分包装在$window.load中 HTML翡翠 问题 事实上,…根本没有问题…它的行为就像我想要的那样。事实上,大约一周前,这对我来说非常有效。 但是: 从昨天开始,在当地工作时,奇怪的事情发生了: “act”功能不会在我的系统的任何浏览器中执行。 平滑滚动功
这让我快发疯了。我知道很难说出其他人的本地主机上发生了什么,但我希望你们中的一些人对这可能是什么有一个想法。如果你想要更多的细节,请告诉我,我会尽快完成。谢谢。您是否尝试过添加一些console.log调用来验证例如sec是否真的正确初始化了?嗯……sec、nav、anc和pos的数组都很好,但是console.logact打印了一个emtpy函数act我想这看起来不应该是这样的?是的,这似乎可疑。如果你的代码看起来真的像这样,并且没有错误报告,那么没有明显的原因会发生这种情况。你有什么样的本地主机?妈妈?我将你的东西从小提琴复制粘贴到文件中,并使用mamp在我自己的本地主机上运行,没有问题。你试过那样的东西吗?不过我对玉一无所知,所以我不能对此发表评论。
var win = $(window),
doc = $(document),
sec = $('section'),
nav = $('nav'),
anc = $('nav a'),
pos = nav.offset().top,
arr = sec.map(function() { // Fill array with top offsets from section
return $(this).offset().top;
}).get(),
act = function() { // Make function to add/remove active class
var t = win.scrollTop();
t > pos ? nav.addClass('sticky')
: nav.removeClass('sticky'),
$.each(arr, function(i, val) {
(t >= val && t < (val + sec.eq(i).outerHeight(true))) ? anc.eq(i-1).addClass('wow')
: anc.eq(i-1).removeClass('wow')
})
}; // Variables end
win.scroll(act) // Execute sticky function
var $root = $('html, body');
$('a').click(function() {
var href = $.attr(this, 'href');
$root.animate({
scrollTop: $(href).offset().top
}, 800);
return false;
});
body.preload
section#id1
h1 someHeadline
nav
a(href='#id1') linkName
a(href='#id2') linkName
...
section#id2
moreContent
section#id3
evenMoreContent
...