ドラッグ可能なスライダーがあり、彼は問題なく動きますが、バーの最初と最後で誤って停止します。
function drag (handle, event) {
var diffX = event.clientX - handle.offsetLeft;
document.addEventListener('mousemove', startDrag, false);
document.addEventListener('mouseup', stopDrag, false);
// START
function startDrag (e) {
if (handle.offsetLeft >= 0 && handle.offsetLeft <= 280) {
handle.style.left = (e.clientX - diffX) + "px";
}
e.preventDefault();
}
// STOP
function stopDrag() {
document.removeEventListener('mousemove', startDrag, false);
document.removeEventListener('mouseup', stopDrag, false);
}
}
完全なコードへのリンクは次のとおりです – http://jsbin.com/ojEWalu/4/edit。