2014-03-13 104 views
0

我在某個DIV元素上使用jQuery draggable(),所以我可以自由移動它。防止某個元素的滾動?

DIV退出大,所以當DIV的一部分在可見區域外時出現滾動條,但對於這個元素,我希望看到沒有滾動條出現。

但我要滾動條時其他元素的可見區域外(例如,如果該頁面是長於屏幕)出現。

所以我的問題是,是否有可能排除某些元素影響滾動條?

(我不要求使用溢出來隱藏滾動條,我只是不想讓某個div來影響他們)

任何想法?

+0

你可以做的是溢出-y:hidden;這至少應該防止滾動條在底部。如果你給元素溢出:隱藏;它並不意味着元素只能是屏幕的高度或寬度,所以你也可以做到這一點。我很確定有一個事件會在你開始拖動時被觸發,在這種情況下,你可以向div中添加一個類,並且該類會讓你溢出:hidden;在拖動結束時刪除這個類,它是否回到標準 – Pinki

+0

你可以將一個on按鈕按下事件綁定到mousedown,mousemove並讓該事件更新容器的CSS來滾動沒有? – 4m1r

回答

0

您的可拖動的DIV可以被封裝到另一個不允許創建滾動條的div中。

<style> 
.wrapper { 
    height: 100%; 
    position: absolute; 
    width: 100%; 
    overflow: hidden; 
    top: 0; 
    left: 0; 
} 

.draggable { 
    position: absolute; 
    top: 1000px; /* simulating going over the edge of the page */ 
    left: 800px; /* simulating going over the edge of the page */ 
    width: 500px; 
    height: 500px; 
    background: #F00; 
} 
</style>  


<div class="wrapper"> 
    <div class="draggable"> 
     Hello - No scrollbars created for me. :) 
    </div> 
</div> 
+0

不錯的解決方案,就像一個魅力! – Dylan