2016-10-05 3 views
0

javacript를 처음 사용하면서 처음부터 웹을 코딩하는 ...여러 개의 드래그 가능한 열 핸들

안녕하세요. 나는 내 웹을 위해 일하기에 성공 http://jsfiddle.net/T4St6/

:이 바이올린 JS처럼 내가 드래그 열을 달성하기 위해 노력하고있어 나는 스택에 여기 http://www.dariusou.com/하지만 스크립트 때문에 그 여러 열을 만드는 방법에 대한 단서입니다 특히 (왼쪽, 오른쪽) 된 div를 대상으로 :

var isResizing = false, 
lastDownX = 0; 

$(function() { 
var container = $('#container'), 
    left = $('#left'), 
    right = $('#right'), 
    handle = $('#handle'); 

handle.on('mousedown', function (e) { 
    isResizing = true; 
    lastDownX = e.clientX; 
}); 

$(document).on('mousemove', function (e) { 
    // we don't want to do anything if we aren't resizing. 
    if (!isResizing) 
     return; 

    var offsetRight = container.width() - (e.clientX - container.offset().left); 

    left.css('right', offsetRight); 
    right.css('width', offsetRight); 
}).on('mouseup', function (e) { 
    // stop resizing 
    isResizing = false; 
}); 
}); 

이 코드는 내가 원하는 달성하는 것이 편리 할 것인가, 아니면에서 작업하는 또 다른 코드를 찾아야한다? (나는 처음부터 스크립트를 쓸 수 없다.) 내가 이룩하려고하는 것은 핸들을 가진 드래그 가능한 컬럼의 단지 종류이지만,이 포스트에 첨부 된 이미지와 같이 그들 중 다수. enter image description here

이상적으로는 미래에 (모든 부하에서)이 div의 각각에 대해 임의의 드래그 위치를 달성하고 싶습니다.

enter image description here

답변

2

먼저 당신이 당신의 핸들을 변경 (첨부 참조) 클래스 :

$('.handle').on('mousedown', function (e) { 
    target = e.target.id; //store the id 
    isResizing = true; 
    lastDownX = e.clientX; 
}); 
0 :

<div id='handle' class="handle"></div> 

는 클래스 동작을 정의

개 사업부를 추가

<div id="left2"> This is the left side's content! </div> 
    <!-- Right side --> 
    <div id="right2"> 
     <!-- Actual resize handle --> 
     <div id='handle2' class="handle"></div> This is the right side's content! 
    </div> 

크기 조정 대상 핸들에 따라 달라집니다

if(target == 'handle'){ 
    left.css('right', offsetRight); 
    right.css('width', offsetRight); 
} else if(target == 'handle2'){ 
    left2.css('right', offsetRight); 
    right2.css('width', offsetRight); 
} 

확인이 바이올린 : jsfiddle.net/T4St6/292/, 그것을 만들 수있는 많은 다른 방법이 도움이 희망이 있습니다!

+0

감사합니다. 나는 우리가 말하는 것처럼 이것을 시도하고있다. 질문 -이 메서드는로드 시퀀스에서 무작위로 달성하기 위해 스크립트를 추가 할 수 있습니까? 나는 별도로 핸들을 목표로 할 수 있어야한다고 가정합니다. –

+0

높이로 위치를 지정하는 데 어려움을 겪고 있습니다 ... 이것은 위치에 의해 발생합니다. 절대 ... 절대 없으면 작동 할 수있는 방법이 있습니까? 나는 자연스럽게 그들을 쌓아 가기를 원한다 : top을 사용하여 하나씩 위치시키지 말라. xx px 끝까지 ... div가 컨테이너 내부에 자연스럽게 쌓이는 방법이 있는가? –

+0

$ ('# id')는 해당 id가있는 첫 번째 요소를 선택하고, $ ('. class')는 해당 클래스의 모든 요소를 ​​선택한 다음 오더 된 배열을 반환합니다. 내가 이해하는 것으로부터 jsfiddle.net/T4St6/293을 확인해보십시오. –

관련 문제