2012-05-10 26 views
1

我正在創建一個web應用程序,我需要做一些設計調整。下面是示例功能代碼:http://jsfiddle.net/rkumarnirmal/FSDPH/移動jquery框不應該移出頁面

在那裏顯示的黑色移動框不應該移出頁面(甚至沒有),但是如果您在那裏檢查,您可以移動框並將其放在某處這一頁。我如何控制它?

還有一件事,我要在該框中實現jPicker工具http://www.digitalmagicpro.com/jPicker/。如果我們單擊顏色框,jPicker工具將被彈出,然後如果該框被移動,jPicker工具必須根據頁面進行自己的排列。

我知道問問題,這樣是不公平的,但我沒有機會:(誰能明白呢

謝謝!

+0

我想你應該把'jPicker'的東西移動到一個單獨的問題上。一次有一個問題。你可以在你的問題下使用'edit'。 – kapa

回答

2

您可以使用draggablecontainment財產,以保持可拖動的元素中其父母之一

例如:。

$("#box_bg").draggable({scroll: false, cancel: "div#box", containment: 'document'}); 
+0

請檢查現在的代碼http://jsfiddle.net/rkumarnirmal/FSDPH/2/拖動並不完美。 – rnk

+0

它是完美的。 [演示](http://jsfiddle.net/FSDPH/3/)。剛剛刪除了您的利潤率,並用「頂」和「左」替換它們。 – kapa

+0

還有一個幫助。在框中如果您點擊手風琴的標題,您將在活動手風琴中找到一些選擇邊框。如何刪除? – rnk

1

否則整個代碼,現在是不可能的,我GIV你的邏輯。你可以輕鬆地做到這一點。

你必須跟蹤覆蓋的拖動事件。然後在事件處理程序中,您必須檢查疊加層的左側和頂部位置。如果超出了你的限制,那麼將left/top設置爲0(或者一些偏移量)。

另一方面,如果超出最右端(或底部),則必須相應地將窗口的寬度(或高度)減去覆蓋層的寬度(或高度)。

顏色選擇器也一樣。但不是拖動事件,您必須在顯示顏色選擇器時執行重新定位。

+1

@lmdad謝謝!好技術。我會嘗試這個:) – rnk

+0

我需要你的一個更多的問題的青睞。在框中如果您點擊手風琴的標題,您將在活動手風琴中找到一些選擇邊框。如何刪除? – rnk

+1

我無法在活動面板中看到任何額外的邊框。 但是,如果你看到任何額外的邊框在你身邊,你可以通過css刪除它 #box_bg .ui-accordion-header.ui-state-active { border:none; } 你可以在這裏應用任何樣式 – Imdad