2017-07-06 2 views
0

Ich versuche, einen Klick zu machen und den Hintergrund in Javascript ziehen, so machte ich this fiddle. Aber es hat ein Problem.Javascript klicken und ziehen Hintergrund funktioniert nicht wie erwartet

Wenn Sie klicken und ziehen Sie nach links, der Hintergrund bewegt sich nach rechts, so dass ich die Position der Maus verfolgen, vergleichen Sie es mit dem Mauszeiger, und mit dem Unterschied scrolle ich den Körper. Aber wenn der Wert 0 erreicht, ist der Unterschied negativ. Wenn Sie also über diesen Unterschied hinausgehen und sich dann wieder nach rechts bewegen, müssen Sie die Anzahl der Pixel, die Sie hinter sich haben, verschieben, was es merkwürdig macht.

Also dieses Problem zu beheben, habe ich diesen Code:

if(difX < 0){ 
    md.x = mm.x; 
} 

, die macht, dass, wenn die Differenz kleiner als 0 (dh die Kante erreicht), die mousedown- Position die gleiche wie die mousemove- ist, Wenn Sie auf die andere Seite gehen, ist der Unterschied nicht mehr negativ und kann wieder zunehmen.

Das Problem ist, dass es springt, wenn Sie die Kante erreichen.

Ich tat dies nur mit der X-Position, aber ich werde das gleiche für die Y tun, sobald ich es lösen. Danke im Voraus!

Antwort

0

Nevermind, löste es aus, das Problem war, die die sl Variable ändern sich nicht, wenn es eine negative Differenz erreicht, so dass es mit der auf mouseup gespeichert verwendet, und es sprang wegen der Differenz zwischen diesen Zahlen, here's the solved fiddle

Verwandte Themen