2012-08-28 78 views
3

我試圖創建一個具有中心的拖杆兩列可滑動的區域,看到這個小提琴:http://jsfiddle.net/W7tGj/2/jQuery的拖放,並按照鼠標

我試圖避免增加JQ-UI到混合,所以任何幫助將不勝感激。我覺得我錯過了簡單的事情。

+1

我有點懂了工作......如果你把鼠標移動非常緩慢的節奏它的工作原理拖動時。 http://jsfiddle.net/W7tGj/2/ 看看這個:http://stackoverflow.com/questions/1572483/jquery-mousedown-mousemove – mittmemo

+0

jQ UI可能是最好的方式去。還有一些其他的插件可以做你想做的。即http://www.methvin.com/splitter/ – Nal

回答

2

第一: - 添加容器div來檢查鼠標移動

<div id="content-div"> 
    <div id="left-panel">f</div> 

    <div id="drag-bar">f</div> 

    <div id="right-panel">f</div> 
</div> 

二: - 添加mousemove事件到的div容器

var movebar = false; 

$('#drag-bar').mousedown(function(e){ 
    movebar = true; 
}); 

$('#drag-bar').mouseup(function(e){ 
    movebar = false; 
}); 

$('#content-div').mousemove(function(e){ 
    if(movebar) 
    { 
     var x = e.pageX; 
     $('#left-panel').css({'width': x+'px'}); 
     $('#right-panel').css({'margin-left': (x+5)+'px'}); 
    } 
}); 
+0

我曾嘗試類似的東西(檢測mouseup/down並設置一個變種),但錯過了隔離它的容器。謝謝! – Fluidbyte