使用时间间隔在Javascript中调用辅助函数到函数

时间:2014-04-01 08:48:23

标签: javascript codeigniter helper

这里有人知道如何从帮助器回显函数并在每个时间间隔调用它吗?我想使用它,所以我不必在每个控制器中调用我的功能。

我的助手有这两个功能:

function online_count() {
  $CI =& get_instance();
  $CI->load->model('Auth_model');
  return $CI->Auth_model->online_count();  
}

function online_members() {
 $CI =& get_instance();
 $CI->load->model('Auth_model');
 return $CI->Auth_model->online_members(); 
} 

这是我的观点的代码片段,需要这些功能:

<ul class="nav nav-pills pull-right">
 <li class="dropdown">
  <a href="javascript:void(0)" data-toggle="dropdown" class="dropdown-toggle">Online </b> <span class="badge badge-success"><?php echo online_count(); ?></span></a>
 <?php
   if(online_count() != 0) { ?>
   <ul class="dropdown-menu">
 <?php
  $members = online_members(); 
      foreach($members as $members_data) { ?>
   <li><a href="javascript:void(0)" onclick="javascript:chatWith('<?=$members_data->username;?>')"><?php echo $members_data->firstname; ?></a></li>
 <?php }
 ?>
 </ul>  
 <?php  }
 ?>
</ul>   

这是我的剧本:

<script>
 function online() {
  //Calls the function
 }

 setInterval(online, 5000);
</script>

希望有人可以提供帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个

 <script>    
     setInterval(function(){
      <?php online_members(); ?>
     <?php online_count(); ?>

     },5000);
    </script>

答案 1 :(得分:0)

我做到了:

$(document).ready(function(){

 setInterval(function(){
 $.ajax({
 url: "/system/online",
 type: 'post',
 data: {"token": " "}, 
 success: function(html){
  $("#online").html(html);
 }
});
}, 1000);

setInterval(function(){
$.ajax({
url: "/system/online_members",
type: 'post',
data: {"token": " "}, 
success: function(html){
 $("#online_members").html(html);
  }
 });
}, 1000);  
});

但是我会为更短的代码行改进这一点。