1

ここにあるコードを使用して、スクロール可能なタブhttp://jsfiddle.net/mekwall/dECtZ/を作成しています。それは非常にうまく機能しますが、最初に選択したタブをデフォルトにしようとしたときに問題が発生しました。

タブが表示されるタブの範囲外です (13 個のタブのうち 5 個がロード時に表示され、8 番目のタブがロード時に選択されるように選択しました)。

ここで問題の例を参照してください: http://jsfiddle.net/chriscdk/cf7yvLfz/

プラグインで使えるものがあるといいのですが、

$(function() {
    $("#tabs1").tabs({
        scrollable: true,
        changeOnScroll: false,
        selected:8
    });
});

しかし、JQuery API を見ても何も見つかりませんでした。

4

1 に答える 1

1

そのウィジェット拡張機能のコンストラクターを見ると、scrollTo関数が提供されています。残念ながら、その機能はユーザーに公開されていません。したがって、それを公開する行を追加できます。

this.scrollTo = scrollTo;

次に、通常の方法で呼び出すことができます。

var scrollValue = 200, delay = 0;
// you probably want to calculate a scrollValue from the default tabs'
// width and selection number instead of hardcoding a value
$("#tabs").tabs("scrollTo", scrollValue, delay);

この機能が意図的に公開されていないことを考慮する価値があります。原作者はおそらく、今述べたような厄介なハッキングを人々にさせるつもりはなかったでしょう。これを行う適切な方法は、独自の (おそらくオリジナルに基づく?) スクロール関数を作成し、それを使用してウィジェットを拡張することです。

ただし、将来のメンテナンスにあまり関心がない場合は、この 2 行のハックを使用して、将来の変更を綿密かつ慎重に監視できます。

フィドルの更新は次のとおりです。http://jsfiddle.net/xfhzyece/

于 2014-12-19T14:48:29.950 に答える