我正在使用jQuery UI來調整元素的大小。 我有一個元素應該可以調整到最大寬度。 1200像素或1600像素(如用戶喜歡)。但是當這個元素之前有元素(我將所有元素水平排列)時,如果鼠標光標到達屏幕的末端,則調整大小操作將停止。調整大小:調整元素的大小超出屏幕末端
你可以在這裏進行測試:http://gopeter.de/clients/dustin/
非常右邊框是調整大小。
有沒有人有任何想法,我可以防止這種情況? 我應該檢查光標位置並在到達結束時擴展元素嗎?或者還有其他技術嗎?
我正在使用jQuery UI來調整元素的大小。 我有一個元素應該可以調整到最大寬度。 1200像素或1600像素(如用戶喜歡)。但是當這個元素之前有元素(我將所有元素水平排列)時,如果鼠標光標到達屏幕的末端,則調整大小操作將停止。調整大小:調整元素的大小超出屏幕末端
你可以在這裏進行測試:http://gopeter.de/clients/dustin/
非常右邊框是調整大小。
有沒有人有任何想法,我可以防止這種情況? 我應該檢查光標位置並在到達結束時擴展元素嗎?或者還有其他技術嗎?
也許你可能只是調整身體和滾動允許連續調整大小:
var body = $('body');
$('#resize').resizable({
handles: "e,s,se",
resize: function (event, ui) {
var width = body.width(),
diff = width - (width - (this.offsetLeft + this.offsetWidth));
body.width(diff).scrollLeft(diff);
}
});
或(更小的jQuery)
$('#resize').resizable({
handles: "e,s,se",
resize: function (event, ui) {
var width = document.body.clientWidth,
diff = width - (width - (this.offsetLeft + this.offsetWidth));
document.body.style.width = diff + 'px';
document.body.scrollLeft = diff;
}
});
下面是相關的小提琴:http://jsfiddle.net/jeff_mccoy/UpmNq/2/
注意你可以作爲一個例子,通過僅調整每X個像素(!diff%3)的大小來加速這一點,但它在調整大小時也會有點生澀。
偉大的解決方案!您將在15小時內獲得賞金(導致堆棧溢出限制)。 – Slevin
我猜遊標不能出現在屏幕之外,不管你做什麼,除非我錯過了重要的東西? – adeneo
確保光標不能超出屏幕。但是如果要將元素的大小調整爲比屏幕更大的尺寸,我會遇到麻煩。我認爲這與像Mac OS X Finder這樣的常規軟件中的可拖動操作是一樣的現象:當您將鼠標光標移動到屏幕頂部時,您可以將元素拖動到頂部,大型列表將開始滾動,所以您可以達到最高。 – Slevin