我试图让一个元素淡入,然后在5000毫秒再次淡出.我知道我可以这样做:
setTimeout(function () { $(".notice").fadeOut(); }, 5000);
Run Code Online (Sandbox Code Playgroud)
但这只会控制淡出,我会在回调中添加上述内容吗?
我从一个网站获得了这个代码,我根据自己的需要进行了修改:
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
</head>
<div id="links">
</div>
<script language="javascript" type="text/javascript">
var timeout = setTimeout(reloadChat, 5000);
function reloadChat () {
$('#links').load('test.php #links',function () {
$(this).unwrap();
timeout = setTimeout(reloadChat, 5000);
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
在test.php中:
<?php echo 'test'; ?>
Run Code Online (Sandbox Code Playgroud)
所以我希望在链接div中每隔5秒调用一次test.php.我怎么能这样做?
我有一个网站,我需要更新状态.就像飞行一样,你正在起飞,巡航或着陆.我希望能够刷新状态,而不让我的观众拥有并重新加载整个页面.我知道有一种方法可以使用AJAX和jQuery,但我对它的工作方式一无所知.我也不希望他们拥有并点击一个按钮.如果有人知道如何做到这一点我非常感激!
我正在尝试更新"mydiv"的内容而不刷新整个索引页面.@mydata由mycontroller提供.我需要每n秒重新计算一次并将其传递给"mydiv"
使用"link_to"它有效!
index.html.erb
<%=
link_to('refresh', '/mycontroller/index', :remote => true)
%>
<div id="mydiv">
<%=
@mydata
%>
</div>
Run Code Online (Sandbox Code Playgroud)
index.js.erb的
$('#mydiv').html('<%= escape_javascript(@mydata) %>')
Run Code Online (Sandbox Code Playgroud)
现在我需要每隔n秒自动刷新"mydiv"的内容(所以不要点击链接).我尝试过以下解决方案:
但没有运气.
在我的application.js中我写了这个:
function executeQuery() {
$.ajax({
//url: '/index',
success: function(data) {
$('#mydiv').html(data)
}
});
setTimeout(executeQuery, 500);
}
$(document).ready(function() {
setTimeout(executeQuery, 500);
});
Run Code Online (Sandbox Code Playgroud)
对于谁面临同样的问题,我通过更换来解决它
$('#mydiv').html(data)
Run Code Online (Sandbox Code Playgroud)
同
$('#mydiv').load('/mycontroller/index #mydiv')
Run Code Online (Sandbox Code Playgroud) 我是 ajax 和 JavaScript 的新手。我想要做的是多次调用 ajax 函数以从资源中获取某些数据,然后将所有数据“推送”到一个数组中,以便我稍后可以在代码中使用它。这是我的代码。
var arr = [];
var users = ["brunofin", "comster404", "ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"];
for (i = 0; i < users.length; i++) {
$.ajax({
url: "https://api.twitch.tv/kraken/streams/" + users[i],
success: function(data) {
arr.push(data);
},
error: function(data) {
arr.push("blank");
},
complete: function() {
if (i == users.length) {
console.log(arr); //This seem to print even when the condition isn't true
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
代码的问题在于,即使i不等于,它也会打印到控制台users.length
我的问题是;我如何确保它i == users.length在打印到控制台之前一直等到为真?请记住,我仍然希望该过程是异步的。