Javascript 部分html中的jquery,在循环中呈现

Javascript 部分html中的jquery,在循环中呈现,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我有RoR申请。每个用户都有许多时区。具有许多时差的时区数据库(自定义)。用户可以创建任意数量的时区,其所有时区都显示在其主页中。这是通过主页中的渲染时区实现的 <%= render @user.timezones.paginate(page: params[:page]) %> })) 但是,并不是对每个时区都调用此脚本,因此从第一个时区开始的小时(分钟)将从div传递到java,并为所有时区显示时区1的当前时间。如何更改此选项以显示每个时区的当前时间?您应该使用javascri

我有RoR申请。每个用户都有许多时区。具有许多时差的时区数据库(自定义)。用户可以创建任意数量的时区,其所有时区都显示在其主页中。这是通过主页中的渲染时区实现的

<%= render @user.timezones.paginate(page: params[:page]) %>
}))

但是,并不是对每个时区都调用此脚本,因此从第一个时区开始的小时(分钟)将从div传递到java,并为所有时区显示时区1的当前时间。如何更改此选项以显示每个时区的当前时间?

您应该使用javascript进行时间计算,因为它是一个jquery库。我为您提供了许多用于时间计算的辅助方法

要循环完成所有潜水,您需要在
$('.time-rect-container')上调用每个

此代码可以替换

var dt = new Date();

 var x = time_div.data('hours');
 var y = time_div.data('minutes');
 z = time_div.data('positive') 
 utchours = dt.getUTCHours();
 utcminutes = dt.getUTCMinutes();
 utcseconds = dt.getUTCSeconds();
 if (z == true)
    var time = parseInt( utchours + x + (utcminutes + y) / 60) % 24 + ":" + (utcminutes + y) % 60 + ":" + dt.getUTCSeconds();
 time_div.html(time)
With:(伪代码)


我仍然需要通过每个时区的时差,我该怎么做?是的,我同意。但这仍然会留下我的问题没有解决。我只会将时区添加到我的第一个时区,而不是所有的时区。在每个div中保留这个
.time rect容器
这个类
$(document).ready(function () {
setInterval(function () {
 time_div = $('.time-rect-container');
 var dt = new Date();

 var x = time_div.data('hours');
 var y = time_div.data('minutes');
 z = time_div.data('positive') 
 utchours = dt.getUTCHours();
 utcminutes = dt.getUTCMinutes();
 utcseconds = dt.getUTCSeconds();
 if (z == true)
    var time = parseInt( utchours + x + (utcminutes + y) / 60) % 24 + ":" + (utcminutes + y) % 60 + ":" + dt.getUTCSeconds();
 time_div.html(time)
}, 1);
var dt = new Date();

 var x = time_div.data('hours');
 var y = time_div.data('minutes');
 z = time_div.data('positive') 
 utchours = dt.getUTCHours();
 utcminutes = dt.getUTCMinutes();
 utcseconds = dt.getUTCSeconds();
 if (z == true)
    var time = parseInt( utchours + x + (utcminutes + y) / 60) % 24 + ":" + (utcminutes + y) % 60 + ":" + dt.getUTCSeconds();
 time_div.html(time)
$.each($('.time-rect-container'), function(i, time_div){
  var x = time_div.data('hours');
  var y = time_div.data('minutes');
  z = time_div.data('positive') 

  if z == true
     var time = moment.utc().add(x,'h').add(y,'m'); // can be moment.utc().add({hours: x,months: y})
  time_div.html(time._d)
})