Half-Retirean's Lazy Life Diary / ダラダラ余生日記

最近思ったこと: やりたいことだけやるって幸せなことだ

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  984  : 記事  4  : コメント  42105  : トラックバック  277

ニュース

My Website

初心者向けのサイトです。

C# と VB.NET の入門サイト

最近のできごと

暇人28号FX

Sponsored Link1

Sponsored Link2

Archive

書庫

本家サイトで、TreeMenu を JavaScript で実装しています。
開いたページと同期して自動で Expand されるようになっております。

ただ、現在の位置を示す Node が見える位置までスクロールできません。
scrollIntoView を使えばスクロールは可能ですが、
メイン ウィンドウまでスクロールされてしまいます。(;_ _)

DIV で囲っている部分のスクロール バーだけ動かしたいのです。
擬似的に Form を作ってもダメでした... どうすればいいのかなぁ。

やっぱないかな... できる方法は。
教えてくれるすごくていい人いないですかね?

投稿日時 : 2006年1月8日 0:37

コメント

# re: 指定の DIV だけスクロールさせたい 2006/01/08 1:27 じゃんぬ
スクロールさせた後に、scrollTo(0, 0) とやれば、
本体の Window は元の位置に戻るので目的は達成できますが、
やはり多少ちらつきますね...

# re: 指定の DIV だけスクロールさせたい 2006/01/08 10:58 じゃんぬ
だめだー、IE ですら、タイミング次第でスクロールがおかしくなる... orz
フレーム使っていれば楽勝なんだろうけど、フレームは使いたくないから... (^^;)

# re: 指定の DIV だけスクロールさせたい 2006/01/08 11:00
こういうこと?

<SCRIPT language="JavaScript">
<!--
function hoge(index)
{
menu.scrollTop = list.children(index).offsetTop;
}
//-->
</SCRIPT>
<DIV id="menu" style="float:left; width:200px; height: 100px; overflow: scroll; border: 1px solid black;">
<UL id="list">
<LI>ほげ1<LI>ほげ2<LI>ほげ3<LI>ほげ4<LI>ほげ5<LI>ほげ6<LI>ほげ7<LI>ほげ8<LI>ほげ9<LI>ほげ10
</UL>
</DIV>
<DIV style="width: 100%; height: 200%; border: 1px solid blue;">&nbsp;</DIV>
<INPUT type="text" id="txtIndex" value="9" size="2"><BUTTON onclick="hoge(parseInt(txtIndex.value));">スクロール</BUTTON><BR>


# re: 指定の DIV だけスクロールさせたい 2006/01/08 11:09
さっきのコード、Firefox1.5じゃ動かないっぽ
Operaなら大丈夫だったんだけどねー
あかん orz

# re: 指定の DIV だけスクロールさせたい 2006/01/08 12:21 じゃんぬ
offsetTop って event オブジェクトでないと Valid じゃないような...

# re: 指定の DIV だけスクロールさせたい 2006/01/08 12:24 じゃんぬ
あ、object.offsetTop の方ですね。

# re: 指定の DIV だけスクロールさせたい 2006/01/08 12:44 じゃんぬ
しょーぢさんありがとう!! (^o^*)
FireFox でも一応できましたよ。

ただ、位置がおかしいみたいですけど...

この辺りで確認してみると良いです。
ttp://jeanne.wankuma.com/tips/string/substring.html

# re: 指定の DIV だけスクロールさせたい 2006/01/09 0:56
おー、良かった良かった
なんでうちのFirefoxでビクともしなかったんだろ
・・・あー、HTMLの組み方かな

兎にも角にもお役に立てて良かったです

# re: 指定の DIV だけスクロールさせたい 2006/01/09 12:05 じゃんぬ
IE, FireFox, Opera で動けば文句なしですよ。
本当に助かりました。(*_ _)

あの後、もう少し改良を加えて、
スクロールしている瞬間が見えないようにしました。(^-^*)

ただ、parentNode.offsetTop の値が相違しちゃうのが判りません。
同じ親ノードを見ているハズなんですけど、IE が視覚テーマの影響を受けるからかなぁ。

Post Feedback

タイトル
名前
Url:
コメント: