お世話になっております。
この度、以下を
function open()~
で書き出したいのですが、初心者のためやり方がわかりません。
また、これらをスタイルシートにて飾る方法もわからないほどの初心者です。
ものすごい初心者で、本当にお手数かけますが何卒宜しくお願い申し上げます。
<script language="JavaScript"><!--
d = (new Date()).getDay();
h = (new Date()).getHours();
m = (new Date()).getMinutes();
if (d == 3) {
Discg = "tokei/close.png";
}else if ((h>12 && h<19) || (h == 12 && m >= 0) && (h == 19 && m <= 30)) {
Discg = "tokei/open.png";
}else {
Discg = "tokei/close.png";
}
document.write('<IMG src="' + Discg + '" border="0">');
</script>
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
0.5秒おきに、「:」コロンが点滅するやつ書きました。
colon.png と black.png の画像は自分で作ってね。
画像を文字にすると承認されるまで面倒だし、IE6だと見られないし。
<img src="tokei/colon.png" alt=":" id="colon">
ここからは、</body>の直前に。
全角空白は半角に。
<script type="text/javascript">
(function ( ) {
var images = [ ];
var target = document.getElementById( 'colon' );
var state = 0;
images[0] = new Image;
images[1] = new Image;
images[0].src = 'tokei/colon.png';
images[1].src = 'tokei/black.png';
setInterval( function ( ) {
state += 1;
if( 1< state ) {
state = 0;
}
target.src = images[ state ].src;
}, 500);
})();
</script>
</body>
No.5
- 回答日時:
>私への言葉ですよね?
ちがう×2。
質問者が数年前の自分のようでね、簡単な用語でも、アップアップしてたころを思い出した。
その上で、with( new Date ) { }なんていう省略できる用語を使っても、初心者にとって
何がなにをどう省略しているのか、理解できないだろうよ。という意味。
私は、短いコードにするのが好きなので、ついそれを、回答に使ってしまった。
つまり相手を考えずに使ってしまったことに対しての自分への反省も込めています。
>自分自身も伝えたいことが定まっていないということですかね
そんなことは無いと思うよ。
過去の自分を省みれば、おかしな(珍)回答をしている点で、
私は、あなたの数段上だと思う^^;
(10をかける!の回答に「評価する」に1票入れたのは誰?)
質問者の方へ
自分のできる範囲で、協力はしてあげたいけど、情報が小出しというか、
アドバイスがスルーされているとかで、テンション下がりっぱなしです。
しかも自分の回答が、まだまだミスだらけで、それも下がる要因ですが・・・。
No.4
- 回答日時:
>1、2それぞれを外部ファイルにして組み込めばよいと考えた
>2は直接htmlに記述されているため、これを外部化すれば動くのでは?
外部化することよって動く、ということなく、むしろ外部化によって、ミスを犯したり。
そして、外部化と関数化は無関係。関数でなくとも外部化可。
と、いうことは置いておいて、とりあえずの成功を収めるため、「動けばいい」の主義で。
個別に動かすことができるとのことですので、この典型的な現象の原因は 変数名の重複 にあります。(それ以前の問題かも?)
変数名、関数名あわせて名前を全てリストアップし、1と2の間で重複がないか確認。
重複を見つければどちらかを別の名前に置き換える。
あなたはvarを使わない癖があるようですが、取り敢えず名前が被らないようにだけでも注意してください。
それでも解決されないなら、
思い込みにより解決策が見えない場合もあるので、1,2を両方組み込んだ状態の
HTMLソース、javascriptのコード“全て”を見せるという手段を強くお勧めします。
(個人情報関連は伏せつつ、他は何も削らずに)
>babu_babooさん
>いきなりガンガン色々なことを言われても理解が難しいときもあります
私への言葉ですよね?余計なことは削ってるつもりなのですが、
自分自身も伝えたいことが定まっていないということですかね・・・反省。
>今にして思えば、with( new Date ) { }なんてものは、無謀ですよね~。
どういうことなのか気になるので、一言でもいいので回答のついでにでもお教えいただければ嬉しいです。
No.3
- 回答日時:
いきなりガンガン色々なことを言われても理解が難しいときもあります。
でも、お店のためにも、がんばってくださいね。応援もこめて助言します。
タイマーの数値は分刻みで動きますが、コロン「:」の部分は、秒単位で点滅でしたね。
スクリプトでも良いのでしょうが、その部分だけアニメーションGIFが楽かもしれません
スクリプトは、<head>内に置くだけとは限りません。
<body onLoad="呼び出したい関数()">
などとして、読み込みが完了したら起動させたいのかもしれませんが
最後の</body>の直前に<script ~>を置くと、onLoad=""も必要がありません。
むしろその方が、トータルで見た速度も速い(?)
なので、自分は、onLoadは使用しなくなりました。
document.writeは、HTML文書を読み込んだ後に行うと、全画面が書き換えられてしまい
思うような表示にはなりません。
なので、<img src="xxx.png">の部分のタグを書くのではなく、スクリプトでsrcの部分だけを書き換えます。
今にして思えば、with( new Date ) { }なんてものは、無謀ですよね~。
No.2
- 回答日時:
そもそも何で関数化したかったのでしょうか?そこすら見えていなかった?
関数にしたからには実行が必要です。
function Open(){~}
の中では関数"Open"を定義しただけです。
「こういうことをこれからするから準備しておいてね」と。
実行のタイミングはいつにするつもりだったのでしょうか?補足願います。
ページを読み込んでから処理開始、何かをクリックしたとき、など、
意図するタイミングがないのであれば無意味です。元に戻しましょう。
因に前の質問を閉めなかったのはまだ回答を受付中ということでよろしいですね?
初心者なのは仕方がないです。
ですがUTCの事、議論になっていることに対して自分がどうしたいのか補足すべきです。
それと質問内容が動きすぎて回答者が困ります。
自分がどこまでやってどこがだめだったのか、どこにヒントが欲しいのかどこがお手上げなのか。
もう一度前回の質問のところに質問内容をまとめてください。
ありがとうございます。
まず私のやろうとしていることですが
◎webサイトに1、javascriptでの時計表示、2、時間によって営業か閉店中かを示す画像の表示、この二点です。※質問番号:5617235の画像参照
◎関数化の理由
みなさんから解答を得たのですが、実際自分でファイルに書いてみると機能しない。
しかし、頂いた回答の中で別々に1の機能、2の機能のみで頂いたものもあり、これは個別に動かすことができる。
それならば自分で統一して動かせばよいとの判断をし、1、2それぞれを外部ファイルにして組み込めばよいと考えた。
1に関しては外部ファイル化されており、関数名が定義されている。
2は直接htmlに記述されているため、これを外部化すれば動くのでは?と思い、今回の質問に至っております。
No.1
- 回答日時:
前回、前々回の質問が受付中のままですが、解決したのでしょうか?
>これらをスタイルシートにて飾る
解釈すら間違えていらっしゃるようなのですが。
飾るのはhtml要素(今回の場合<img>)です。スクリプトを飾るのではありません。
本題。
>function open()~で書き出したい
無理です。
openという名前は使用できません。使用済みです。
(windowオブジェクトにwindow.openメソッドが定義済み)
他の名前をご利用ください。
Openのように大文字を使うだけでも重複を回避できます。
function Open(){
//処理内容
}
余計なお世話ですが、
<script language="JavaScript">には前の質問でも指摘がありましたよね?
d = (new Date()).getDay();
h = (new Date()).getHours();
m = (new Date()).getMinutes();
同じものを表すつもりなのにコンストラクタを3回も呼ぶなんてナンセンス。
そもそも、処理中に日付またいだりしたら値が狂います。
条件分岐のこととかIMGとかは、、、たくさんツッコミ入れてもきついでしょうから触れないでおきます。
<script type="text/javascript"><!--
function Open(){
var d,h,m,Discg
with(new Date)d=getDay(),h=getHours(),m=getMinutes()
...
}
--></script>
有難う御座います。
今、headに以下を記述しましたができないようです。
この記述自体まちがっているのでしょうか??
宜しくお願い致します。
<script type="text/javascript"><!--
function Open(){
var d,h,m,Discg
with(new Date)d=getDay(),h=getHours(),m=getMinutes()
if (d == 3) {
Discg = "tokei/close.png";
}else if ((h>12 && h<19) || (h == 12 && m >= 0) && (h == 19 && m <= 30)) {
Discg = "tokei/open.png";
}else {
Discg = "tokei/close.png";
}
document.write('<IMG src="' + Discg + '" border="0">');
}
</script>
これで
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
明日の日にちを表示するときは
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
スマホ上で、左右スワイプで次...
-
インラインフレームで表示され...
-
jqueryでのkeydownイベント発生...
-
条件分岐で、読み込む外部スク...
-
外部jsファイルの変数に代入す...
-
ユーザーが更新ボタンを押さな...
-
Javascript でText file の書き...
-
getElementsByNameで要素が取得...
-
外部ファイルを読み込ませるた...
-
プルダウンと入力を両方行う検...
-
【js】onsubmit属性が変更できない
-
セキュリティ保護の警告が出な...
-
複数のjavascriptを使うと動か...
-
javascriptでtableの該当行を削...
-
javascriptでalertの文字列をコ...
-
別ファイルのfunctionの読み込み方
-
javascriptとApacheの設定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1から100までの平方根を表示す...
-
javascriptで変数を組み込みたい
-
document.getElementById
-
ランダム音声と正解・不正解の表示
-
JavaScriptの入れ子
-
IEでiframe内のcookieを保持
-
動的生成したscriptタグが実行...
-
¥マークの検索について
-
history.back スクリプトオフ...
-
外部jsからdocument.writeする...
-
javascriptでの大文字小文字の区別
-
CGIフォーム一定時間過ぎる...
-
明日の日にちを表示するときは
-
ブラウザのアドレス欄に
-
HPビルダーで『最終更新日時』...
-
ブログ上で複数のjavaスクリプ...
-
書いたクッキーを読み出してメ...
-
ホームページ内に直接書込がしたい
-
JSによるリンク先の値の取得
-
カウントダウンとカウントアッ...
おすすめ情報