- PR -

カレンダーコントロールで

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-08-05 21:49
引用:

SLさんの書き込み (2008-08-05 09:13) より:
> >それくらい、本を買ってきて勉強しましょうよ。。。getElementById
> 本じゃなくても、「とほほ」なり.....
その通りです。これでやってました。ただ、getElementById ももちろん試していたのですが、null になりうまく取得できませんでした。それできいた次第です。


だったら書こうよ、もっとよく見ようよ。
引用:

id="GridView1"が拾えません。getElementsByTagNameなどで拾えるのですか?教えてください。


これが、「id="GridView1" を getElementById で拾おうとしたのですが、null が返ってきます。どうやったら拾えるのでしょう?」、つまり、「やったこと」と「その結果」だったら、あんなこと書かないで、こうなるのですよ。

 id="GridView1" なのは、<asp:GridView id="GridView1" ...> ですよね?この、サーバー コントロールに指定した ID を、サーバー サイド スクリプトで指定しているんですよね?
 だったら、それが HTML になってから何になっているか、確認しましたか?サーバ サイド スクリプトでは、ClientID プロパティで参照してください。

2008/8/4 21:21 の時点でこれがもらえていたら、もっと進展が早かったですよね?
だから、「やったことは全部書こう」と言われるわけです。
ここでも、"GridView1" の出典が明らかではありません。
これが HTML コントロールに対して付けられた名前なら、ここで書いていることは当てはまりません。
あなたは、目の前にコードがあるからわかるでしょうが、私にはそのコードは見えないのでわかりません。
私たちに、あなたがしたことがわかるように説明してください。
そうすれば、私たちは、あなたに適切なアドバイスができるでしょう。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-08-05 23:51
とほほ・・・
全部言われちゃいました。

前半くらいから指摘しようかどーしようか書いては消して・・・だったの
ですが。
わからないところを書く、それに対して答える、という形で誘導してみた
ものの反応がいまいちでしてね。

試してみれば分かるコピペコードも幾つか載せたのに、わかりません、の
一言で片付けられてしまうし・・・
デバッガ欲しいって言うし・・・
デバッガの無いスクリプトはこーゆー風に地道に書いていくしかないんだ
よ、って教えたかったのですがね。。近道を求めていることは十分わかって
いるつもりで、敢えて遠回りでやってみたのですがあまりにも進展無しだと
突付かれて当然ですね。

反省。。。



SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-08-06 10:15
お世話になります。

質問の仕方が不十分だったことお詫びします。申し訳ありません。
おかげさまで何とかできるようになりそうです。
JavaScript のほうもデバッグのようなことの仕方も少しずつ分かりかけています。

ありがとうございました。
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-08-08 16:09
お世話になります。

試行錯誤と混乱の後、何とかアプリに組み込むことができました。
ありがとうございます。

試しているうちに、少し欲が出て出来ればこのツールチップの表示タイミングをマウスポイントより少し遅らせたいのですが、できますでしょうか?
つまり、今のままだと微妙なマウスの揺れでも位置が変わるなどちょっと見ずらいです。
何か手段があれば教えてください。お願いします。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-08-08 17:20
visibility = "visible"
にするメソッドを タイマーで遅らせればいいだけです。
(1)まうすポイント
(2)0.5秒遅らせて表示を設定
(3)マウスポイントがあったら、0.5秒のタイマーがまだ起動してないなら
   それを削除してから、改めて0.5秒で作成。
(4)表示

てな具合になりんす。
(3)の意味が分からないなら、0.5秒を3秒にして、カレンダー1日に
マウスポイント、すぐに2日にマウスポイント、2秒経ってから3日にマウス
ポイント、5秒経過したら、4日にマウスポイント、1秒経過したら5日に
マウスポイント・・・・延々繰り返せば納得するでしょう。たぶん。

ツールチップインスタンスが1個しかない状態で(3)の処理を考慮せずに
やると、日数のマウスポイント毎にタイマーが連続で作成されるのでタイミング
によっては、一瞬関係ないところで表示された後で今のマウスポイントの右下
に出てくる、って現象が確認できます。

SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-08-08 21:28
お世話になります。

下記のように setTimeout() を入れてみましたが変化がありません。
また、変数 tt に値がはいらないためエラーになります。
挿入ポイントが違いますか?
td.onmouseover = function(dx, dy) {
return function() {
if (!anchorFlag) {
if(typeof timeID != 'undefined')
clearTimeout(timeID);
timeID = setTimeout("tt = showToolTip()", 1000, "JavaScript");
//var tt = showToolTip();
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-08-09 00:41
もう少し悩んでください。
ちょっと視点を変えるだけで自力で解決できます。


[ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-08-09 00:57 ]
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2008-08-09 07:21
> もう少し悩んでください。
この回答いいな! 気に入りました。
パチパチパチ
_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集

スキルアップ/キャリアアップ(JOB@IT)