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 중국어 웹사이트의 기타 관련 기사를 참조하세요!