我在mousemove事件定位一個div通過設置它的CSS左側位置,其中的演示可以發現在:jQuery的幻燈片停止在左邊的位置
我有什麼麻煩與設置左邊界和右邊界停止。
無論我做什麼,它似乎都超過了我設置的邊界(左側和右側),所以-13px左側。
如果我登錄到螢火蟲它進入減去的數字,儘管事實上我的左側位置:
如果(SBAR < 0)
在我的代碼。
jQuery的(例如工作包括在上述網址HTML):
$(document).ready(function() {
var statusbar = $(".jspDrag");
statusbar.mousedown(function(event) {
handleMouseDown(event, this);
});
$("body").mouseup(function(event) {
handleMouseUp(event, this);
});
});
function handleMouseDown(e, sbar) {
var sbarPosition = $(sbar).position();
var sbarPosition = e.pageX - sbarPosition.left;
var endRightPosition = $('.jspCapRight').position();
var endRightPosition = endRightPosition.left - $(sbar).width();
var endLeftPosition = $('.jspCapLeft').position();
var endLeftPosition = endLeftPosition.left;
if (e.button == 0)
{
$("body").bind('mousemove', function(event) {
handleMouseMove(event, $(sbar), sbarPosition, endLeftPosition, endRightPosition);
});
}
}
function handleMouseUp(e, sbar) {
$("body").unbind('mousemove');
}
function handleMouseMove(e, sbar, sbarMousePosition, endLeftPosition, endRightPosition) {
var moveXposition = e.pageX - sbarMousePosition;
var sbarLeft = $(sbar).position();
var sbarLeft = sbarLeft.left;
console.log(sbarLeft); //firebug
if ((sbarLeft >= endLeftPosition) && (moveXposition < endRightPosition))
{
$(sbar).css('left', moveXposition);
}
}
是謝謝你,這就是問題所在。 – StuR 2011-05-05 20:49:09