我一直收到这个错误:
未捕获的ReferenceError:$未定义
我已经完成了基础知识,但仍然显示了这一点。我究竟做错了什么?这是我的剧本。我正在使用DOM元素来创建它。
var parenthead = document.head;
sjq = document.createElement("script");
sjq.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js";
parenthead.appendChild(sjq);
swt = document.createElement("script");
swt.src = "http://otexconnect.com/jquery.webticker.min.js";
parenthead.appendChild(swt);
$("#webticker").webTicker();
这是我的HTML
<ul id="webticker">
<li id="item1">Some text</li>
</ul>
任何形式的帮助都会得到满足。感谢
答案 0 :(得分:1)
你调用一个尚未准备好使用的功能,你需要一个回调, 做了一个加载函数,当所有脚本都准备就绪时,它将调用回调语句。
<ul id="webticker">
<li id="item1">Some text</li>
</ul>
<script>
var libsToLoad = ['http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',
'http://otexconnect.com/jquery.webticker.min.js'];
function load(array,cb){
var ready = false;
var lib = null;
var parenthead = document.head;
var totalItens = array.length;
var loaded = 0;
while(lib = array.shift()){
console.log('lib',lib);
var script = document.createElement("script");
script.src = lib;
parenthead.appendChild(script);
script.onload = function(){
loaded++;
if(loaded == totalItens){
ready = true;
cb();
}
};
}
}
load(libsToLoad,function(){
console.log('ready');
console.log($);
console.log($("#webticker li").html())
//Make your logic here
});
</script>