Использование одного и того же Javascript в разных ячейках для подсчета прошедших дней

0

В настоящее время я пытаюсь заполнить таблицу html несколькими счетчиками, один под другим, чтобы показать дни после инцидента. Благодаря интернету, я закончил с этим скриптом:

    <script language="JavaScript1.2" type="text/javascript">function
     setcountup(theyear,themonth,theday){
     yr=theyear;mo=themonth;da=theday
     }

   //////////CONFIGURE THE countup SCRIPT HERE//////////////////

   //STEP 1: Configure the date to count up from, in the format year, month, day:
   //This date should be less than today
   setcountup(2012,9,19)

   //STEP 2: Configure text to be attached to count up
   var displaymessage=""


   //STEP 3: Configure the below 5 variables to set the width, height, background color,       
   and text style of the countup area
   var countupwidth='90%'
   var countupheight='40px' //applicable only in NS4
   var countupbgcolor=''
   var opentags='<font face="Verdana"><large>'
   var closetags='</large></font>'

   //////////DO NOT EDIT PASS THIS LINE//////////////////

   var montharray=new    
   Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
   var crosscount=''

   function start_countup(){
   if (document.layers)
   document.countupnsmain.visibility="show"
   else if (document.all||document.getElementById)
   crosscount=document.getElementById&&!document.all?   
   document.getElementById("countupie") : countupie
   countup()
   }

   if (document.all||document.getElementById)
   document.write('<span id="countupie" style="width:'+countupwidth+'; background-    
   color:'+countupbgcolor+'"></span>')

   window.onload=start_countup


   function countup(){
   var today=new Date()
   var todayy=today.getYear()
   if (todayy < 1000)
   todayy+=1900
   var todaym=today.getMonth()
   var todayd=today.getDate()
   var todayh=today.getHours()
   var todaymin=today.getMinutes()
   var todaysec=today.getSeconds()
   var todaystring=montharray[todaym]+" "+todayd+", "+todayy+"     
   "+todayh+":"+todaymin+":"+todaysec
   paststring=montharray[mo-1]+" "+da+", "+yr
   paststring="10:00"+montharray[mo-1]+" "+da+", "+yr
   dd=Date.parse(todaystring)-Date.parse(paststring)
   dday=Math.floor(dd/(60*60*1000*24)*1)
   dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
   dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
   dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)

   if (document.layers){
   document.countupnsmain.document.countupnssub.document.write(opentags+dday+ " days    
   "+displaymessage+closetags)//to get more detail, enter one of the following in  the   
   write line(also in the else): +dhour+" hours, "+dmin+" minutes, and "+dsec+" seconds    
   "
   document.countupnsmain.document.countupnssub.document.close()
   }
   else if (document.all||document.getElementById)
   crosscount.innerHTML=opentags+dday+ " days "+displaymessage+closetags//+dhour+"  
   hours, "+dmin+" minutes, and "+dsec+" seconds "

   setTimeout("countup()",1000)
   }
   </script>

Теперь каждая строка ячейки имеет счетчик для другого события. Я, кажется, не способен просто помещать этот код в каждый, поскольку он создает конфликт (я думаю)

Я совершенно новичок в этом, и мне нужно разобраться в этом. Может кто-нибудь помочь мне, или указать мне в правильном направлении, пожалуйста?

заранее спасибо

  • 0
    Можете ли вы дать нам больше информации о том, что НЕ работает? Как правило, когда вы публикуете вопрос о переполнении стека, вы должны показать, что вы пробовали, что он в данный момент делает и что вы хотите, чтобы он делал.
  • 0
    Ну, если я помещу это в ячейку в html, я получу счетчик, который показывает прошедшие дни. Так что это работает. Но если я вставлю это в следующую ячейку, каждая ячейка станет пустой.
Показать ещё 4 комментария
Теги:
counter

1 ответ

1
Лучший ответ

Я потратил много времени на то, чтобы получить код, который вы опубликовали для работы, и я должен сказать, что это действительно плохой код. Там много ненужного кода:

paststring=montharray[mo-1]+" "+da+", "+yr
paststring="10:00"+montharray[mo-1]+" "+da+", "+yr

и много всего общего форматирования сумасшествия. Полагаю, я сделал это, и это стало намного легче читать, чем было. Эта скрипка должна помочь вам сделать вашу работу.

http://jsfiddle.net/9DNaD/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню