Javascript JQuery:在页面加载时只执行一次淡入

Javascript JQuery:在页面加载时只执行一次淡入,javascript,jquery,Javascript,Jquery,我有一些div,我正在使用JQuery每10秒刷新这些div,以检查更新的数据并显示它。所有这些都非常有效,只有一个小的例外。当页面第一次加载时,它需要10秒才能在某些div中显示数据,因为计时器设置为10秒,然后它会弹出。看起来很粗糙。所以我要做的是在第一次加载时淡入数据。我只需要它只有当网页第一次加载,否则它会在每10秒,我不希望褪色。我对JQuery非常陌生,没有找到任何符合我所寻找的内容的东西。因此,如何在第一次加载页面时只淡入数据一次呢 下面是我如何刷新数据的脚本示例 function

我有一些div,我正在使用JQuery每10秒刷新这些div,以检查更新的数据并显示它。所有这些都非常有效,只有一个小的例外。当页面第一次加载时,它需要10秒才能在某些div中显示数据,因为计时器设置为10秒,然后它会弹出。看起来很粗糙。所以我要做的是在第一次加载时淡入数据。我只需要它只有当网页第一次加载,否则它会在每10秒,我不希望褪色。我对JQuery非常陌生,没有找到任何符合我所寻找的内容的东西。因此,如何在第一次加载页面时只淡入数据一次呢

下面是我如何刷新数据的脚本示例

function auto_load(){
        $.ajax({
          url: "inc/location_status.php",
          cache: false,
          success: function(data){
             $("#locationNotify").html(data);
          } 
        });
}

$(document).ready(function(){

auto_load(); //Call auto_load() function when DOM is Ready

});

//Refresh auto_load() function after 10000 milliseconds
setInterval(auto_load,10000);
然后,例如,在HTML中,我希望数据出现在其中,我只是做一些类似的事情

<div id="locationNotify"></div>

这将有助于引导你实现你的愿望

/*设置匿名函数*/
(自动加载功能(fadeIn){
/*设置测试桩ID*/
var postId=Math.floor(Math.random()*100);
/*调用Ajax*/
$.ajax({
url:'//jsonplaceholder.typicode.com/comments/'+postId,
cache:false,
成功:功能(数据){
$('#locationNotify').html(data.name);
if(fadeIn){
$('#locationNotify').hide().delay().fadeIn(500);
}
}
});
/*集蒂莫特*/
setTimeout(函数(){
自动加载(假);
}, 10 * 1000);
}(对)


准备就绪时,您正在调用auto_load();这是正确的。它应该在不等待10秒的情况下加载数据。检查你的网络通话需要多少时间?@Dinesh我猜这看起来好像需要10秒。我知道它会在页面完全加载几秒钟后加载。我的主要问题是如何在第一次加载页面时只淡入一次数据。传统的方法使它在每次重新加载时都会消失。它类似于
on()
,但在执行后设置
off()
。谢谢@Daerik,我一直在研究这个问题,但还没能让它正常工作。一个问题是,它会停止淡入还是淡入和刷新,因为我只需要它在页面加载后停止淡入。
function auto_load(){
        $.ajax({
          url: "inc/location_status.php",
          cache: false,
          success: function(data){
             $("#locationNotify").html(data).hide().delay().fadeIn(500);
          } 
        });
}