脚本有效,但是整个延迟(setTimeout)都很笨拙,我担心它不适用于慢速连接。必须有一种更好的方法来使用only JavaScript和jQuery处理这个问题,对不对?功能很简单,例如导航页面,单击输入和输入文本数据。
没有延迟,某些事件将触发故障。例如,有时create()函数会在之前的函数完成之前被调用。
function all() {
navigate();
setTimeout(start, 400);
setTimeout(pickForm, 600);
setTimeout(addName, 900);
setTimeout(addDescription, 1500);
setTimeout(singleLineTextField, 2000);
setTimeout(multiLineTextField, 2200);
setTimeout(radioButtons, 2400);
setTimeout(checkBoxes, 2600);
setTimeout(dropDown, 2800);
setTimeout(multiSelect, 3000);
setTimeout(datePicker, 3200);
setTimeout(smessages, 3400);
setTimeout(fmessages, 3600);
setTimeout(create, 3800);
setTimeout(properties, 5000);
}
all();
如果您正在尝试类似链接的操作,即start()函数将在完成navigation()之后执行,而pickForm将在start()之后执行,您可以使用promise或callbacks来做到这一点。
//cb_func is a callback function
// receive a function -----------------
function getNewENumber( parentENumber, cb_func ){
$.ajax({
type: "POST",
url: "",
data: {}
// ------v-------use it as the callback function
success: cb_func,
error: function(request,error) {
alert('An error occurred');
// console.log(request, error);
}
});
}
var parentENumber = E1-3;
getNewENumber(parentENumber, function( returnValue ){
alert( returnValue );
});
hope this helps.