小弟最近做个拍卖站,想问一下我做了个时间倒退的设置,发现时间会在前台无缘无故停止不动,可是后台还是照着走,不知道谁有类似的经验可以分享一下怎么解决这个问题吗 谢谢。

解决方案 »

  1.   

    前台的部分代码<?php if($sqlRow->end_bid!='Y')
    {
      if($sqlRow->running=='Y')
      $all_item_list.='<td class="timer_bg"><div id="counter_index_div_'.$sqlRow->id.'">00:00:00</div></td>';
      else
      $all_item_list.='<td class="timer_bg"><div id="counter_index_div_'.$sqlRow->id.'">-- : -- : --</div></td>';
       }
      else
      $all_item_list.='<td class="timer_bg"><div id="counter_index_div_'.$sqlRow->id.'">'.$lang['ended'].'</div></td>';
    $pieces4=explode(',',$Runngin_list);
    foreach ($pieces4 as $value4)
    {
    $new_pieces4=explode('|@|',$value4);
    $check_id4.=$new_pieces4[0].",";
    }

    $New_Runngin_list=substr($check_id4, 0, -1);if($New_Runngin_list!='')
    $functionlist=''.$Timer_vales.' Get_Bidder_list("'.$New_Runngin_list.'","H","");Update_Bid_Detail("'.$Runngin_list.'","");';?>
    后台js代码function Get_Bidder_list(Runngin_list,Pagename,product_id){

    // Load the result from the response page
    // ** As far a I know firefox will only load a document on the SAME domain!!
     
     var doc=null;
       if (window.XMLHttpRequest) {
            try {
                doc = new XMLHttpRequest();
            } catch(e)  {}
        } else if (window.ActiveXObject) {
            try {
                doc = new ActiveXObject('Msxml2.XMLHTTP');
            } catch(e)  {
              try {
                  doc = new ActiveXObject('Microsoft.XMLHTTP');
              } catch(e)  {}
            }
        }



     Auto_bidbutler();
      doc.open('GET', "./location.php?section=max_bidder&Pagename="+Pagename+"&Runngin_list="+Runngin_list+"&product_id="+product_id, true);
            doc.setRequestHeader('Content-Type','application/x-www-form-urlencoded');  
      
       doc.onreadystatechange = function() { 

      if (doc.readyState == 4) { 

               if (doc.status == 200) { 
    if(doc.responseText!='')
    {
    var arraylist2=doc.responseText.split("=#=");
    var All_String="";
    var All_Price="";
    var arraylist1=arraylist2[0].split("|@|"); for(var l=0;l<arraylist1.length;l++)
    {
    var arraylist=arraylist1[l].split("**");
    var pro_id =(parseInt(arraylist[0])); if(arraylist[2]!="NN" && arraylist[1]!="NP")
    {
    if(arraylist[1]=="P")
    {
    if(pro_id==product_id)
    {
    document.getElementById('bid_btn_'+pro_id).innerHTML = "<img src='images/mainsite/paused_big_btn.jpg' border='0' />";
    document.getElementById('counter_index_div_'+pro_id).innerHTML = "<b>-- : -- : --</b>";
    }
    else
    {
    document.getElementById('bid_btn_'+pro_id).innerHTML = "<img src='images/mainsite/pause_btn.gif' border='0' />";
    document.getElementById('counter_index_div_'+pro_id).innerHTML = "<b>PAUSE</b>";
    }
    }
    else
    {

    var diff =parseInt(arraylist[1]);
    Extend_timer[pro_id]=diff;
    if(diff>0)
    {
    if(l==0)
    All_String=pro_id+"**E**"+arraylist[5];
    else
    All_String=All_String+"|@|"+pro_id+"**E**"+arraylist[5];
    document.getElementById('bid_btn_'+pro_id).innerHTML = arraylist[2];
    if(pro_id==product_id)
    document.getElementById('flashing_index_div_'+pro_id).innerHTML = arraylist[4];
    }
         else
    {
    if(arraylist[3]=='S')
    {
    if(pro_id==product_id)
    document.getElementById('bid_btn_'+pro_id).innerHTML = "<img src='images/mainsite/sold_big_btn.jpg' border='0' />";
    else
    document.getElementById('bid_btn_'+pro_id).innerHTML = "<img src='images/mainsite/sold_btn.jpg' border='0' />";
    document.getElementById('counter_index_div_'+pro_id).innerHTML = "<font color='red'><b>END</b></font>"; }
    else
    {
    if(pro_id==product_id)
    document.getElementById('bid_btn_'+pro_id).innerHTML = "";
    else
    document.getElementById('bid_btn_'+pro_id).innerHTML = "<a href='index.php?show=product&id="+pro_id+"><img src='images/mainsite/info_btn.gif' border='0'></a>";
    document.getElementById('counter_index_div_'+pro_id).innerHTML = "<font color='red'><b>CHECKING</b></font>";
    Expire_extend_bid(pro_id,product_id); 
    }
    }
    }
    }
    else if(arraylist[1]=="NP")
    {
    if(pro_id==product_id)
    {
    document.getElementById('bid_btn_'+pro_id).innerHTML = "<img src='images/mainsite/paused_big_btn.jpg' border='0'/>";
    document.getElementById('counter_index_div_'+pro_id).innerHTML = "<b>-- : -- : --</b>";
    }
    else
    {
    document.getElementById('bid_btn_'+pro_id).innerHTML = "<img src='images/mainsite/pause_btn.gif' border='0'/>";
    document.getElementById('counter_index_div_'+pro_id).innerHTML = "<b>PAUSE</b>";
    }
    }
    else if(arraylist[2]=="NN")
    {
    var diff =parseInt(arraylist[1]);
    Extend_timer[pro_id]=diff;
    if(l==0)
    All_String=pro_id+"**N";
    else
    All_String=All_String+"|@|"+pro_id+"**N"; document.getElementById('bid_btn_'+pro_id).innerHTML = arraylist[3];
    }

    if(pro_id==product_id)
    {
    var arraylist3=arraylist2[2].split("*@*");

    if(arraylist3[2]=="L")
    {
       document.getElementById('place_bid_div_'+pro_id).innerHTML = arraylist3[4];
    if(arraylist3[3]!="I")
    document.getElementById("bid_from").value = arraylist3[3];

    if(arraylist3[5]!="R")
    Update_bid_table(pro_id);
    }
    else
    {
    if(arraylist3[2]!="R")
    Update_bid_table(pro_id);
    }


    document.getElementById('price_index1_div_'+pro_id).innerHTML = arraylist3[0];
    document.getElementById('price_save_div_'+pro_id).innerHTML = arraylist3[1];
    }

    }  if(All_String!="")
    {
    All_product=arraylist2[1];
    Update_bidder_timer(All_String,1,Pagename,arraylist2[1],product_id);
    }
    }

                   
                }
      }
      
            };


      if(All_product!=0)
       Runngin_list=All_product;
      
     
      setTimeout('Get_Bidder_list("'+Runngin_list+'","'+Pagename+'","'+product_id+'")', 10000);
      
       doc.send(null);

     }
     
    function  Update_bidder_timer(All_String,Timer,Pagename,Runngin_list,product_id)
    { var arraylist1=All_String.split("|@|");
    for(l=0;l<arraylist1.length;l++)
    {
    if(arraylist1[l]!="")
    {
    var arraylist=arraylist1[l].split("**");    var pro_id =(parseInt(arraylist[0]));
    var diff=Extend_timer[pro_id];
    var timer_color=arraylist[2];

    diff=parseInt((diff-Timer));
    if(diff>0)
    {
    if(arraylist[1]=="E")
    {
    if(timer_color!='')
    document.getElementById('counter_index_div_'+pro_id).innerHTML = "<font color='"+timer_color+"'>" + calc_counter_from_time_short(diff) + "</font>";
    else
    document.getElementById('counter_index_div_'+pro_id).innerHTML = "<font color='red'>" + calc_counter_from_time_short(diff) + "</font>";
    }
    else if(arraylist[1]=="N")
    document.getElementById('counter_index_div_'+pro_id).innerHTML = '' + calc_counter_from_time(diff); }
    else
    {
    if(arraylist[1]=="N")
    Expire_home_bid(pro_id);
    else
    {
    if(pro_id==product_id)
    document.getElementById('bid_btn_'+pro_id).innerHTML = "";
    else
    document.getElementById('bid_btn_'+pro_id).innerHTML = "<a href='index.php?show=product&id="+pro_id+"><img src='images/mainsite/info_btn.gif' border='0'></a>";
    document.getElementById('counter_index_div_'+pro_id).innerHTML = "<font color='red'><b>CHECKING</b></font>";
    }
    }
    }
    }
    Timer=Timer+1;

    Timer=parseInt(Timer);
     if(Timer<=10)
    setTimeout('Update_bidder_timer("'+All_String+'",'+Timer+',"'+Pagename+'","'+Runngin_list+'","'+product_id+'")', 1000);

    }