Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 启动两个脚本的正确方式是什么:一个加载数据&;另一个操纵造型的人?_Javascript_Ajax_Dom_Javascript Events - Fatal编程技术网

Javascript 启动两个脚本的正确方式是什么:一个加载数据&;另一个操纵造型的人?

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 但是,我无法

我正在运行一个网站,在刷新时使用Javascript动态加载一个新标题。我应该提到,我的站点非常小,所以我有意避免使用jQuery或任何其他JS库

第一个脚本加载一个JSON文件&随机选择HTML中的一个条目。第二个脚本“尝试”检查文档的长度是否超过视口(如果超过视口)。缩小文本并再次检查

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,我想,第二个脚本依赖于第一个脚本。所以我想我可能也必须对第一个进行修改。我从来没有想过要把它们像那样一起使用。我喜欢这个!谢谢,杰克