Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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 不在IE中工作的精灵图像的背景位置,用于倒计时时钟_Javascript_Jquery - Fatal编程技术网

Javascript 不在IE中工作的精灵图像的背景位置,用于倒计时时钟

Javascript 不在IE中工作的精灵图像的背景位置,用于倒计时时钟,javascript,jquery,Javascript,Jquery,我有一个很棒的倒计时时钟,它在chrome中运行良好,但在IE中根本不工作。感谢Stack overflow用户Roko帮助我完成了这个项目。有人知道如何在IE上完成这项工作吗 这是JS var fut = new Date("Dec 19 2013 21:15:00 UTC-05:00") obj = {}; // Number splitter function intSpl( i ){ i = Math.floor(i); return [~~(i/10), i%10];

我有一个很棒的倒计时时钟,它在chrome中运行良好,但在IE中根本不工作。感谢Stack overflow用户Roko帮助我完成了这个项目。有人知道如何在IE上完成这项工作吗

这是JS

var fut = new Date("Dec 19 2013 21:15:00 UTC-05:00")
    obj = {};

// Number splitter
function intSpl( i ){
  i = Math.floor(i);
  return [~~(i/10), i%10];  
}

function drawTime(){  
  var now = new Date().getTime(),   
      dif = now<fut ? Math.floor( (fut-now)/1000) : 0;
  obj.s = intSpl(dif % 60);
  obj.m = intSpl(dif/60 % 60);
  obj.h = intSpl(dif/60/60 % 24);
  obj.d = intSpl(dif/60/60/24);  

  for(var key in obj){    
     if(obj.hasOwnProperty(key)){
        for(var i=0; i<2; i++){ 
            $('#'+ key+i).css({backgroundPosition: -obj[key][i]*50 });
        }
     }    
  }  
}
drawTime(); 
setInterval(drawTime, 1000);
这是小提琴
你能试试这个吗,原因是IE不支持dateformat,我已经在IE8中测试过了。它工作正常。var fut=new DateDate.UTC2013,12,19,21,15,0//更改的格式,即日期格式应为-新日期年、月[、日、小时、分钟、秒、毫秒]

参考:关于日期的链接:

演示:

//var fut = new Date("Dec 19 2013 21:15:00 UTC-05:00");

var fut = new Date(Date.UTC(2013, 12, 12, 21, 15, 0)); //format - new Date(year, month [, day, hour, minute, second, millisecond]);
obj = {};

//Number splitter
function intSpl( i ){
    i = Math.floor(i);
    return [~~(i/10), i%10];  
}




function drawTime(){  
    var now = new Date().getTime(); 

    var  dif = now<fut ? Math.floor( (fut-now)/1000) : 0;

    console.log("fut::"+fut +":::now"+now); // fut is NaN thats why it is not working

    obj.s = intSpl(dif % 60);
    obj.m = intSpl(dif/60 % 60);
    obj.h = intSpl(dif/60/60 % 24);
    obj.d = intSpl(dif/60/60/24);  


        for(var key in obj){    
              if(obj.hasOwnProperty(key)){
                 for(var i=0; i<2; i++){ 
                     $('#'+ key+i).css({backgroundPosition: -obj[key][i]*50 });       

                     console.log(key+":::"+i+':::PX set'+ -obj[key][i]*50);
                 }
              }    
        }  
    }

    drawTime(); 
    setInterval(drawTime, 1000);
    #clock span{
      display:inline-block;
      width:50px;
      height:85px;
      background-image:url('time.jpg');
      background-position:0 0;
      /*background-color: #ffff00;*/ //added for testing
    }