왼쪽 하단에 고정되어있는 일부 정보 막대를 사용자가 내용을보기 위해 번갈아 가며 전환 할 수 있습니다.요소를 드래그 한 후에 토글을하면 여전히 다른 요소에 영향을 미침
각 div는 화면에서 드래그 할 수 있으며 두 번 클릭하면 원래 위치 인 으로 돌아갑니다.
지금까지의 문제는 div2 또는 div3 (코드 바이올린 코드 참조) 을 드래그 한 다음 토글 트리거를 클릭하면 원래 위치에서 위에있는 다른 div에 영향을줍니다.
div가 왼쪽 모서리에있을 때만 토글의 영향을 받고 싶지만 목록에서 끌어서 이동을 해제하려면이 동작을 비활성화하고 싶습니다.
드래그 한 후에 addClass를 시도했는데 더 높은 z- 인덱스 값을 설정하고 두 번 클릭 할 때 제거했지만 작동하지 않았기 때문에 어떤 이유로 모든 div에 영향을주었습니다.
아이디어가 있으십니까? my sample code
CSS :
#container
{
position:fixed;
bottom:0;
left:0;
z-index:15;
}
.bardiv
{
width:300px;
background-color:orange;
border:1px solid black;
}
HTML :
<div id='container'>
<div id='1' class='bardiv'>drag/double click me - div 1/<a class ='toggleme' href='#'>toggle </a>
<div class='conn'>content</div>
</div>
<div id='2' class='bardiv'>drag/double click me - div 2 /<a class ='toggleme' href='#'>toggle </a>
<div class='conn'>content</div>
</div>
<div id='3' class='bardiv'>drag/double click me - div 3 /<a class ='toggleme' href='#'>toggle </a>
<div class='conn'>content</div>
</div>
</div>
JQuery와 :
$('.conn').hide();
$('.toggleme').click(function() {
$(this).next('div').slideToggle('fast');
});
$(".bardiv").draggable({ opacity: 0.7, cursor: 'move', cancel: '.toggleme' });
$(".bardiv").dblclick(function() {
$(this).animate({ left: 0, top: 0 }, "slow");
});
좋은 솔루션 -하지만 공백은 사업부를 드래그 한 후 남아 않는 이유는 무엇입니까? –
컨테이너에 jQuery가 설정 한 최소 높이가 있기 때문에 공백이 남아 있습니다. 문제는 최소 높이를 설정하지 않고 드래그 할 수있는 div를 컨테이너 밖으로 드래그하면 위치가 절대 값으로 설정되고 컨테이너가 절대 위치로 설정된 요소의 높이만큼 높이를 줄이는 것입니다. js 동작을 표시하려면 다음을 수행하십시오. http://jsfiddle.net/y9Y8s/3/ 가까이에서 볼 경우 각 요소가 컨테이너 밖으로 드래그 될 때 div가 점프하는 것을 볼 수 있습니다. –
감사합니다. 남자 !! –