Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用Javascript刷新页面时保留对类所做的更改_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

如何在使用Javascript刷新页面时保留对类所做的更改

如何在使用Javascript刷新页面时保留对类所做的更改,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个数据表供用户查看并进行更改。如果需要,他们可以选择删除一行。当他们删除一行时,它会将要删除的行发送回db。对于用户来说,行不会立即删除,但它将得到一个新类“deleted”,该类具有一些样式,可以让用户知道它正在被删除。我还让页面每10分钟刷新一次,当它刷新时,新添加的“已删除”类将消失 我怎样才能在页面刷新时让类保持在行上 下面是计时器的功能,让计时器知道何时刷新页面。我正在使用ajax刷新页面 function startClock() { //

我有一个数据表供用户查看并进行更改。如果需要,他们可以选择删除一行。当他们删除一行时,它会将要删除的行发送回db。对于用户来说,行不会立即删除,但它将得到一个新类“deleted”,该类具有一些样式,可以让用户知道它正在被删除。我还让页面每10分钟刷新一次,当它刷新时,新添加的“已删除”类将消失

我怎样才能在页面刷新时让类保持在行上

下面是计时器的功能,让计时器知道何时刷新页面。我正在使用ajax刷新页面

        function startClock() {
          // Get the time to stop the effect
          var stopTime = new Date();
          stopTime.setMinutes(stopTime.getMinutes() + 10);
          // Get a reference to the timer so it can be cancelled later
          timer = setInterval(function () {
              // Check to see if the timer should stop
              var currentTime = new Date();
              if (currentTime < stopTime) {
                  triggerDataTable(); //refresh dataTable
                  var randomnumber = Math.floor(Math.random() * 100);
              } else {
                  // Stop the timer
                  clearInterval(timer);
              }
          }, 600000);
      }
函数startClock(){
//获得停止效果的时间
var stopTime=新日期();
stopTime.setMinutes(stopTime.getMinutes()+10);
//获取计时器的引用,以便稍后可以取消它
定时器=设置间隔(函数(){
//检查计时器是否应该停止
var currentTime=新日期();
如果(当前时间<停止时间){
triggerDataTable();//刷新数据表
var randomnumber=Math.floor(Math.random()*100);
}否则{
//停止计时
清除间隔(计时器);
}
}, 600000);
}

我会使用本地存储吗?如果是这样的话,我该怎么做呢?我不熟悉存储本地值或类似的东西。

对此我不是100%确定,但是做这样的事情怎么样:

var deletedRow = $(".deleted");
localStorage.setItem( deletedRow, $(".deleted").val() );

我不是100%确定,但是做这样的事情怎么样:

var deletedRow = $(".deleted");
localStorage.setItem( deletedRow, $(".deleted").val() );

尝试通过本地存储使用会话存储

会话存储属性为每个给定的源和会话维护一个单独的存储区域

本地存储也会执行同样的操作,但即使在浏览器关闭和重新打开时也会保持不变

sessionStorage.setItem('item', value);
sessionStorage.getItem('item');

尝试通过本地存储使用会话存储

会话存储属性为每个给定的源和会话维护一个单独的存储区域

本地存储也会执行同样的操作,但即使在浏览器关闭和重新打开时也会保持不变

sessionStorage.setItem('item', value);
sessionStorage.getItem('item');

也许您不需要从数据库中实际删除行,而是可以实际为行指定一个状态类型(活动、已删除等)的列。这样,在刷新页面时,您可以根据行的状态更改类。@Bram我给行一个“已删除”的类。。但是,当页面刷新时,如何保持该类?不是从数据库中删除该行,而是更新该行,给它一个状态(例如存档),以指示它已被删除。这样,已删除的行仍在数据库中。刷新时加载所有行,具有不同状态的行将获得不同的类。如果该行正在数据库中被删除或“存档”,为什么刷新页面时服务器仍将该行发送给客户端?刷新页面时,我假设它将重新查询要显示哪些行的服务器-但服务器不应将已删除的项目发送给客户端。也许您不应该实际从数据库中删除该行,而是可以实际为该行提供一个状态类型为(活动、已删除等)的列。这样,在刷新页面时,您可以根据行的状态更改类。@Bram我给行一个“已删除”的类。。但是,当页面刷新时,如何保持该类?不是从数据库中删除该行,而是更新该行,给它一个状态(例如存档),以指示它已被删除。这样,已删除的行仍在数据库中。刷新时加载所有行,具有不同状态的行将获得不同的类。如果该行正在数据库中被删除或“存档”,为什么刷新页面时服务器仍将该行发送给客户端?刷新页面时,我假设它将重新查询要显示哪些行的服务器-但服务器不应将删除的项目发送到客户端。“item”是否为正在更改的行的类?item可以是任意键(字符串)。值可以是任何东西(字符串、数字、对象、数组)。因此,根据您的需求,这取决于您自己。因此类似这样的内容:var deletedRow=$(“.deleted”);setItem(deletedRow,$(“.deleted”).val();sessionStorage.getItem(deletedRow);我是否需要将会话存储放在函数中,或者它可以放在JavaScription中的任何地方?您可以在任何地方使用它。它的工作原理类似于window.sessionStorage.setItem('item',value);var值=window.sessionStorage.getItem('item');“item”是否是正在更改的行的类?item可以是任何键(字符串)。值可以是任何东西(字符串、数字、对象、数组)。因此,根据您的需求,这取决于您自己。因此类似这样的内容:var deletedRow=$(“.deleted”);setItem(deletedRow,$(“.deleted”).val();sessionStorage.getItem(deletedRow);我是否需要将会话存储放在函数中,或者它可以放在JavaScription中的任何地方?您可以在任何地方使用它。它的工作原理类似于window.sessionStorage.setItem('item',value);var值=window.sessionStorage.getItem('item');