마우스 커서를 이미지로 바꾸려고합니다.Jquery replace mouse cursor
나는 다음과 같은 HTML을 가지고 :
<div id="content-bg">
<img src="path"/>
</div>
<div id="mouse"></div>
CSS :
#content-bg{
background:url(../img/frontend/content-bg.png) top left no-repeat;
width: 968px;
height: 552px;
position:relative;
}
#mouse {
cursor: none;
width: 75px;
height: 76px;
background: url("../img/frontend/cross.png") no-repeat center;
position: absolute;
display:none;
top: 0;
left: 0;
z-index: 10000;
}
자바 스크립트 :
$(document).ready(function(){
$('#content-bg').mouseout(function(){
$('#mouse').hide();
$(this).css("cursor","none");
return false;
});
$('#content-bg').mouseenter(function(){
$('#mouse').show();
return false;
});
$('#content-bg').mousemove(function(e){
var x = e.clientX - $(document).scrollLeft() - 37.5;
var y = e.clientY + $(document).scrollTop() - 38;
$('#mouse').css('left', x).css('top',y);
});
});
마우스 이미지가 올바른 위치에 있지만 것을 깜박하고 화려한 . 전환은 내가 원하는만큼 부드럽 지 않습니다. 어떻게 든 그것은 mouse-mouse 및 event-event가 content-bg div 안에 마우스를 움직일 때마다 트리거되는 것 같습니다.
어떻게하면 해결할 수 있습니까?
감사 의견에서 지적 된 바와 같이
마우스가 "왼쪽"그래서, 그것은 다시 입력합니다. 다른 방법으로 작업해야하거나 그대로 두십시오 ... – gdoron
이미지가 표시된 위치의 오프셋을 변경하려고 했습니까? 반쪽 너비/높이를 제거하는 대신 추가하십시오. 그것 없이는 심지어 이동 div 자체 때문에 심지어 mouseout 트리거하지 않습니다 확실하지 않다 –
@ gdoron하지만 절반 치수를 잘하면 작동합니다 ... 당신은 더 나은 접근 방식을 제안하거나 나를 가리킬 수 있습니까? 일부 문서 해주시겠습니까? – jribeiro