0

こんなカウントダウンスクリプトを使いたい

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

function countdown(yr,m,d,idCountdown){
    var theyear=yr;
    var themonth=m;
    var theday=d;
    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;
    var futurestring=montharray[m-1]+" "+d+", "+yr;
    var dd=Date.parse(futurestring)-Date.parse(todaystring);
    var dday=Math.floor(dd/(60*60*1000*24)*1);
    var dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1);
    var dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1);
    var dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1);
    var dag = "dagen";

    if(dday==0&&dhour==0&&dmin==0&&dsec==1){
        document.getElementById(idCountdown).value=current;
        return;
    }
    else if(dday<=1) {
        dag = 'dag';
    }
    document.getElementById(idCountdown).value=dday+ ' ' + dag + ' ' +dhour+" uur "+dmin+" min "+dsec+" sec";
    setTimeout(function(){countdown(theyear,themonth,theday,idCountdown);}, 1000);
}

私のhtmlページには、このようなテキストフィールドがあります

 <input name="aktie1" type="text" class="countdownTekst" size="27" readonly="readonly">
 <input name="aktie2" type="text" class="countdownTekst" size="27" readonly="readonly">

次に、これを使用して関数を使用します

countdown(2012,7,30, 'aktie1')

最後の 1 つは、テキスト フィールドの ID です。しかし、私がこのようにすると、エラーが発生します

 document.forms.count.idCountdown.value is undefined

その関数でそのテキストフィールドのIDを取得するにはどうすればよいですか?

4

2 に答える 2

1

次のように入力にアクセスする必要があります。document.forms.count[idCountdown].value

編集:このフィドルはhttp://jsfiddle.net/Fy2FM/4/で動作しています。より大きな問題は、変数をで宣言していないことです。var yourvarこれにより、変数がグローバルオブジェクトの一部になります。このため、実際には同じ変数にアクセスしていたため、両方のカウントダウンで常に同じものが表示されていました。

于 2012-07-26T08:29:42.473 に答える
0

このスクリプトに特定の時間を追加します。例: 3:44

<script language="javascript">countdown(2016,6,20,15:44 'aktie1')</script>
于 2015-04-16T16:36:13.120 に答える