![](/img/trans.png)
[英]How can Modernizr load a (Modernizr)class conditionally with css?
[英]Conditionally load javascript using modernizr
我正在建立一個視差站點,並且我想在小視口上關閉視差滾動效果(我想為視口小於460px的視口關閉視差腳本)
我已經使用Modernizr完成了一些簡單的后備CSS修復程序,但是無法弄清楚如何針對此邊界,然后將其加載到相關的js文件中。
我正在使用scrollr.js的視差效果。
http://prinzhorn.github.io/skrollr/
謝謝您的幫助!!!
老實說,使用實際的JavaScript加載程序可能會更有利,特別是因為Modernizr完全是針對HTML5和CSS3的功能檢測,而且我相信對JavaScript本身沒有任何支持。 需要時,由現已棄用的YepNope處理(請參見下文)。
可能會解決您問題的腳本是Require.js , LABjs或YepNope [Deprecated] 。
還有其他幾種可能性,例如Head.js ,但這基本上是一個完整的工具箱,具有Modernizr,jQuery和幾個合並成一個庫的功能。 但是,對於您想做的事情來說,它可能有點過於龐大。 還有LazyLoad ,它是不需要維護的,但也應該能夠為您提供所需的功能。
進一步閱讀:
如果您不需要特殊的東西,例如在腳本加載和執行后立即執行有序執行或回調,這很容易:
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%的情況下,您將不需要特殊的加載腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.