特定の幅にドラッグできる水平スクローラーを作成したいと考えています。幅はウィジェット オプションによって設定されます。しかし、_created-function で宣言した変数をドラッグ可能なイベントで使用する方法がわからないことに気付きました。
これが(現在動作している)コードです:
$.widget( "my.scroller", {
options: {
rangemin: 0,
rangemax: 1000
},
_create: function() {
var scrollerrange = (this.options.rangemax - this.options.rangemin)
this.element.draggable({
axis: "x",
drag: function(event, ui){
var this.left = ui.position.left;
// here I want to replace 700 with 'var scrollerrange'
// and it works
if(this.left > 0) this.left = 0;
if(this.left < -scrollerrange) this.left = -scrollerrange;
ui.position.left = this.left;
},
})
},
});
これは jquery ウィジェットでの私の最初の試みであり、これが正しいアプローチであるかどうか疑問に思います。私はいくつかのことを試しましたが、何もうまくいきませんでした。また、ウィジェットをドラッグ可能から拡張しようとしましたが、最終的には同じ行き止まりになりました。
編集:実際にはコードのタイプミスであり、現在は機能しています...