Javascript 启动两个脚本的正确方式是什么:一个加载数据&;另一个操纵造型的人?
我正在运行一个网站,在刷新时使用Javascript动态加载一个新标题。我应该提到,我的站点非常小,所以我有意避免使用jQuery或任何其他JS库 第一个脚本加载一个JSON文件&随机选择HTML中的一个条目。第二个脚本“尝试”检查文档的长度是否超过视口(如果超过视口)。缩小文本并再次检查Javascript 启动两个脚本的正确方式是什么:一个加载数据&;另一个操纵造型的人?,javascript,ajax,dom,javascript-events,Javascript,Ajax,Dom,Javascript Events,我正在运行一个网站,在刷新时使用Javascript动态加载一个新标题。我应该提到,我的站点非常小,所以我有意避免使用jQuery或任何其他JS库 第一个脚本加载一个JSON文件&随机选择HTML中的一个条目。第二个脚本“尝试”检查文档的长度是否超过视口(如果超过视口)。缩小文本并再次检查 ajax.request("GET","file.json"); // works fine preventScroll.resize(".headline"); // not so much 但是,我无法
ajax.request("GET","file.json"); // works fine
preventScroll.resize(".headline"); // not so much
但是,我无法让第二个脚本可靠地工作。我尝试过通过window.onload加载,我尝试过将它从HEAD标签移动到BODY标签末尾之前
我应该如何正确地称呼这些人,使他们始终工作?您的
ajax
库中没有公开成功处理程序。我建议作出以下改变:
var makeRequest = function(method, url, success) {
然后在函数内部:
//...
if (httpRequest.status === ajaxState.isOkay) {
data = httpRequest.responseText;
successHandler(data);
success(); // you could call with more arguments
}
要将整个过程结合起来使用:
ajax.request("GET","file.json", function() {
preventScroll.resize(".headline");
});
既然它是一个如此简单的网站,你能创建一个JSFIDLE示例吗?ajax.request()不是一个原型调用,而不是直接的JS吗?所以问题实际上只是关于第二个脚本?elclanrs,Jack,我想,第二个脚本依赖于第一个脚本。所以我想我可能也必须对第一个进行修改。我从来没有想过要把它们像那样一起使用。我喜欢这个!谢谢,杰克