2024年8月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
無料ブログはココログ

Javascript

Javascript Jqueryの読み込み時の処理の使い分け

■DOMの読み込みが終わった時

$(function(){

});

$(document).ready(function(){

});

■DOMの読み込みが終わり、画像の読み込みが終わった時
$(window).load(function(){

});



JavascriptのDate

2014年1月1日は
ddd = new Date(2014, 1, 1, 0, 0, 0, 0);
ではなく
ddd = new Date(2014, 0, 1, 0, 0, 0, 0);
が正しい

月は0~11までの値をセットすることを忘れていてしばらく悩んだ…

Javascript if文

ひさびさにJavascriptでコーディングしたのですが、

var n = 'aaa';
If (n == ''){
    alert('1');
}else{
    alert('2');
}

こんな簡単なコードで「オブジェクトが指定されていません」というエラーが出て昨日の半日間、原因がわからなかった。
今日になって冷静にみてみるとif文のIが大文字だったことに気が付いた・・・
最近VBばっかだから無意識でIを大文字で記述していたみたい。

単純なことほど気付きにくい。



Javascript setMonthの変な仕様

下記のように2月1日を指定しようとすると1月1日になってしまいます。
IEでもNetscapeでも同じ現象が発生します。

<SCRIPT LANGUAGE="JAVAScript">
var D=new Date();
D.setMonth(2006);
D.setMonth(1);
D.setDate(1);
document.write(D);
</SCRIPT>

setMonthする前にsetDateしてあげると正しい日付がセットされるようです。

<SCRIPT LANGUAGE="JAVAScript">
var D=new Date();
D.setMonth(2006);
D.setDate(1);
D.setMonth(1);
document.write(D);
</SCRIPT>

var D=new Date()によりDにはシステム日付が格納されます。
仮にシステム日付が1月31日だったとすると、「月」に1「日」に30の値が入ります。
これに対しsetMonth(1)を行うと、Dの「月」に2が代入されますが、「日」を表す部分が30のままになります。
この場合、Dは2月30日から3月1日に自動的に修正されます。
その後のsetDate(1)により、Dは3月1日となってしまいます。