我正在建立一个视差网站,我想关闭小视口上的视差滚动效果(我想关闭低于460px的视口的视差脚本)
我使用Modernizr做了一些简单的回退css修复,但无法弄清楚如何定位这个边界然后加载相关的js文件。
我使用scrollr.js来实现视差效果。
http://prinzhorn.github.io/skrollr/
感谢您的帮助!!!
答案 0 :(得分:2)
老实说,使用实际的JavaScript加载器可能更有利,特别是因为Modernizr完全是关于HTML5和CSS3的功能检测,我相信没有任何本机支持JavaScript。当需要时,它由现已弃用的YepNope处理(见下文)。
您的问题的一些潜在脚本是Require.js,LABjs或YepNope [已弃用] 。
还有其他一些功能,例如Head.js,但这基本上是一个完整的工具箱,它具有Modernizr,jQuery和其他几个库的功能。但是,对于你想要做的事情,它可能有点过于笨重。还有LazyLoad,它没有维护,但也应该能够为您提供所需的功能。
进一步阅读:
答案 1 :(得分:2)
如果您在加载和执行脚本后不需要特殊的东西,例如有序执行或回调,那么很容易:
function loadJS(u){var r=document.getElementsByTagName("script")[0],s = document.createElement("script");s.src = u;r.parentNode.insertBefore(s,r);}
用法:
if(!Modernizr.feature){
loadJS('path/to/script.js');
}
如果你使用的是jQuery,你可以这样做+然后你也有一个回调:
if(!Modernizr.feature){
$.ajax({
url: 'path/to/script.js',
dataType: 'script',
cache: true,
global: false,
crossDomain: true //good for debugging
});
}
因此,在90%的案例中,您不需要特殊的加载脚本。