秘密基地、どこに作った?

下記のデモサイトのように
http://www.kelvinluck.com/assets/jquery/jScrollP …
jScrollPaneとjQuery UI tabsを連動させる方法は分かったのですが、
タブの部分をselectメニューにカスタマイズすることは可能でしょうか?

.change()を使うとは思うのですが、具体的な記述の仕方が分からず
困っております。
ご教授いただけると助かります。

A 回答 (2件)

#1です。



>jScrollPaneとjQuery UI tabsを連動させる方法は分かったのですが、
と書いてあったので、簡単な回答にしてしまったのですが…

>スクロールの高さが固定なら良いのですが、
>それぞれのスクロール領域の高さが異なる場合、
>セレクトメニューの切り替えとうまく連動してくれません・・・
もしかして、スクロールを設定したdivの内容を書換えるような方法をとっているのでは?
(その場合に、高さが追随しないのかどうかは確認していませんが)
ご提示のサイトでは、スクロールするdivを3個用意しておいて、タブの切替に応じてそれの表示/非表示を切り替えているだけと思いますが?
(コードを確認していないので、推測です)


ご提示のサイトのソースをサンプルにするならば…
(以下、インデントは全角空白で代替しています)

1)HTMLのタブの部分をselectに交換
<select name="tabs" id="tabs">
 <option value="tab1" selected>タブ1</option>
 <option value="tab2">タブ2</option>
 <option value="tab3">タブ3</option>
</select>

2)初期セット用のスクリプトを以下に交換
 (タブ機能の自作部分とスクロールの初期設定)
$(function(){
 $("#tabs").change(function(){
  var tab = this.value;
  $("option", this).each(function(){
   var id = this.value;
   $("#" + id).css("display", id==tab?"block":"none");
  });
 });

 $('.scroll-pane').jScrollPane();
 $("#tabs").change();
});

これで、セレクト内容に応じて同様の動作をすることを確認しました。
当然ながら、UI_tabs用のスクリプトとCSSの読込みは不要となります。
    • good
    • 0
この回答へのお礼

ありがとうございました!実装できました!

お礼日時:2011/05/18 21:44

tabの選択に応じて対象とする要素(div)の表示/非表示を制御しているだけだと想像しますので、jqueryならわざわざカスタマイズしなくても自作してもたいしたことは無いでしょう。



以下の過去の質問が参考になると思われます。(ほとんど同じなので)
onchangeの使用法としてもご参考までに。
http://oshiete.goo.ne.jp/qa/429714.html
http://oshiete.goo.ne.jp/qa/6330851.html

この回答への補足

スクロールの高さが固定なら良いのですが、
それぞれのスクロール領域の高さが異なる場合、
セレクトメニューの切り替えとうまく連動してくれません・・・

サンプルサイトでは、スクロールの高さがちゃんと可変になってます。
http://www.kelvinluck.com/assets/jquery/jScrollP …

自作でもいけるのならそれでも良いのですが・・・

補足日時:2011/05/18 14:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報