おなじみscriptaculous.jsでスライダーインターフェースを実現するControl.Slider。
すっごく便利なんだけど、なぜか1pxしかスライドしないバグで1日はまってしまいました。

どうやら下記のようにスタイルのvisibilityやdisplay非表示にすると駄目らしい。

<div id="slide" style="display: hidden;">
<div id="track1" style="margin: 40px; height: 200px; background-color: rgb(170, 170, 170); width: 1px;">
<div class="selected" id="handle1" style="width: 10px; height: 5px; background-color: rgb(255, 0, 0); position: relative; top: 25px;"></div>
 </div>
</div>

まだ確認が取れていなくて、私の予測でしかないのですが、
おそらく、 new Control.Slider()された時点で、画面上で非表示になっていると、
スライド幅(デフォルトではスライドするトラックのピクセル長)が取得できず、上手く動かないようだ。

オプションのmaximumあたりの指定で回避できるかも知れないけど、
あまり頻繁に遭遇するシュチュエーションではないので、未確認。

取り合えず回避策としては初期表示の際はdisplay: block;にしておいて、
onload()で$('id').style.display=hidden;にすることで回避。
onloadにあまり局所的なコード入れたくないけど、一応応急対処。

オプション辺り試してみて回避可能であれば追記します。
でもこんな使い方するひといるのかな〜?

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: scriptaculous.js -Control.Sliderのバグ(仕様?)

このブログ記事に対するトラックバックURL: http://hackmylife.net/mt/mt-tb.cgi/248

コメントする

このブログ記事について

このページは、hackmylifeが2005年12月 7日 23:48に書いたブログ記事です。

ひとつ前のブログ記事は「英辞郎 第二版「Special Valueパック」」です。

次のブログ記事は「新感覚ソーシャル「コトノハ」」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0

アドセンス

MoMAstore MoMAstore
MoMAstore MoMAstore
MoMAstore MoMAstore
MoMAstore MoMAstore
MoMAstore MoMAstore
MoMAstore
MoMAstore
MoMAstore
MoMAstore