1
我想建立非常簡單的水平滑塊使用純JavaScript,我不想任何庫像jquery。一開始任務似乎很簡單,但我遇到了一個問題。我正在嘗試從offsetX
屬性中讀取設置,以在正確的位置設置處理程序。問題是,當我在軌道上滑動處理程序時,它有時會切換事件目標,並將處理程序的讀數更改爲跟蹤滑塊容器。整個過程的視覺效果並不是最好的。簡單的js滑塊,閱讀ofssetX使處理器跳躍
這是我如何構建這樣的:
<div class="slider">
<div class="track">
<div class="handler"></div>
</div>
</div>
和後面的代碼:
var dragging = false;
document.querySelector('.slider').onmousemove = function(event) {
if(dragging) {
document.querySelector('.handler').style.left = (event.offsetX - 15) + 'px';
}
};
document.querySelector('.handler').onmousedown = function(event) {
dragging = true;
};
window.onmouseup = function(event) {
dragging = false;
}
我認爲,解決辦法是防止事件從錯誤的讀數(從處理程序或跟蹤),並且始終只使用相對於滑塊div的鼠標位置。但如何做到這一點,我還不知道。有沒有人? ;)
這就是我一直在尋找先生;)謝謝您的幫助;) – Mevia