>  기사  >  웹 프론트엔드  >  드래그하는 동안 마우스 이동이 발생할 때마다 jquery는 어떻게 왼쪽으로 점프합니까?

드래그하는 동안 마우스 이동이 발생할 때마다 jquery는 어떻게 왼쪽으로 점프합니까?

黄舟
黄舟원래의
2017-06-28 10:35:581613검색

jquery는 드래그 앤 드롭을 작성했지만 마우스 이동이 이루어질 때마다 항상 왼쪽으로 점프가 발생합니다. 어떻게 그런 점프가 없을 수 있습니까?

.wrap{
width:328px;
position: absolute;
left:50%;
top:30%;
margin-left:-164px; //应该是这个margin-left造成的
padding:10px;
background:#eeeeee;
border-radius: 10px;
} 
//js
$('.wrap').on('mousedown',function(e){
var _this=$(this)
disX=e.clientX-$(this).offset().left;
disY=e.clientY-$(this).offset().top;
$(document).on('mousemove',function(e){
_this.css('left',e.clientX-disX)
_this.css('top',e.clientY-disY)
}); $(document).on('mouseup',function(){ $(this).unbind('mousemove');
})
})

divItem 하위 요소는 divBox 위에 있습니다.
마우스가 divItem으로 이동하면 divBox에서 다른 요소로 이동한 것입니다.
먼저 divBox의 mouseout 이벤트를 트리거한 다음 divItem의 mouseover 이벤트를 트리거합니다. .

원하는 효과를 얻을 수 있는 다른 방법을 찾을 수 있는지 확인하세요.
1. divItem의 마우스오버 이벤트에서 divBox의 마우스오버에 의해 호출되는 메소드를 호출할 수 있습니다.
2. divItem은 어떤 용도로 사용되나요? divBox의 배경 이미지로 대체할 수 있나요?
3. 또는 모든 div의 절대 위치를 설정한 다음 divBox의 z-index를 divItem의 z-index보다 크게 설정하고
divBox를 반투명으로 설정합니다.

오랜 시간 동안 코드를 살펴본 결과 문제가 없었습니다. 그런 다음 CSS를 제거하고 괜찮았습니다. 그런 다음 margin-left:-164px를 제거하거나 음수가 아닌 숫자로 변경해도 괜찮았습니다.

위 내용은 드래그하는 동안 마우스 이동이 발생할 때마다 jquery는 어떻게 왼쪽으로 점프합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.