2016-07-02 7 views
0

divをドラッグ可能にしようとしましたが、x軸に沿ってのみ、ビデオコントロールのタイムスタンプの親指を左右にドラッグしてビデオまたはオーディオプレゼンテーション。JavaScriptを使用したmousemoveへのトランスフォームの適用は、即時には更新されません。

は、ここに私のコード

thumb.addEventListener('mousemove', updateThumbPosition, false) 

    function updateThumbPosition (event) { 
    var thumbRect = thumb.getBoundingClientRect() 
    var startX = seekbar.getBoundingClientRect().left 
    var mouseX = event.clientX 
    console.log(mouseX - startX + thumbRect.width/2) 
    thumb.style.transform = 'translateX(' + mouseX - startX + thumbRect.width/2 + 'px)' 
    } 

div要素が動かないのです。値は、マウスが動くにつれて急激に変化します。私はコンソールにログオンしたときにそれを見ることができますが、div自体はX軸に沿って翻訳されません。思考?ここで

はjsfiddleです:https://jsfiddle.net/btjLqa8u/1/

+1

var div = document.getElementById('div') div.addEventListener('mousedown', mouseDown, false); window.addEventListener('mouseup', mouseUp, false); function updateDivPosition (event) { var divRect = div.getBoundingClientRect() var startX = seekbar.getBoundingClientRect().left var mouseX = event.clientX div.style.transform = 'translateX(' + (mouseX - startX) + 'px)' } function mouseUp(){ window.removeEventListener('mousemove', updateDivPosition, true); } function mouseDown(){ window.addEventListener('mousemove', updateDivPosition, true); } 
このコードは、それ自体が微細です。 Jsfiddleは本当の問題を見つけるのに役立ちます。 – AlexG

+0

フィドルを追加:https://jsfiddle.net/btjLqa8u/1/ – Costa

答えて

1

あなたが唯一の括弧行方不明:ところでhttps://jsfiddle.net/rjzLtunb/

div.style.transform = 'translateX(' + (mouseX - startX) + 'px)' 

を、ドラッグ&ドロップのコードのために、あなたはおそらくのdiv親にマウスを移動するために聞きたいですdiv自体の代わりに

+1

fml(コメントを投稿するには複数の文字が必要です) – Costa

1

マウスの操作を改善してフィドルを更新しました。

jsfiddle

s4mj3ch9

+0

ありがとう!!左端とは対照的に、中央のdivを取得するように更新プログラムを更新しました。そして起こっていたハイライトを取り除いた。今、いくつかの左右の境界を作成する:)助けてくれてありがとう! – Costa

関連する問題