Yine de son birkaç gündür bana gıcırdayan başka bir soru. Diğer sorularımdan da gördüğünüz gibi, bazı zihin haritası yazılımları oluşturuyorum. Yani (çok basitleştirilmiş) İki tane div var. Biri sayfadaki bir kare, diğeri ise yaklaşık 10 kat daha büyük ve sürüklenebilir. Bu, nesnelerin ekrana yerleştirilebilmesi ve başka bir nesne eklenirken nesnenin hafifçe kaydırılabilmesidir. Bunu, dışsayının kaydırılabilir olmasını sağlayarak yaparım.Kaydırılabilir div içinde fare pozisyonu alın
Yapmakta olduğum sorunlar java komut dosyasında fare konumu ile ilgili. Eğer farenin herhangi bir yerine farenin pozisyonunu alırsam, iç div'u en küçüğüne ve soluna göre dengeleyim (böylece kullanıcı tuvalin ortasına bakacak ve istediği gibi gidebilir). . Onlarca farklı fare koordinatını denedim ama bunların hiçbiri işe yaramıyor. Web üzerinde bir yerde bulduğum çapraz tarayıcı olması gereken bir örnek:
function getMouse(e) {
var posx;
var posy;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft + document.getElementById("canvas").scrollLeft;
posy = e.clientY + document.body.scrollTop + document.getElementById("canvas").scrollTop;
}
} //getMouse
Ancak bu çalışmaz. Hata neredeyse kesindir çünkü iç div sürüklenebilir. Umarım açıklamaya çalışıyorum, ama sahip olduğum durumu göstermek için here is a very simple jsfiddle'um yoksa (sadece fare tıklaması yapılmasa da, sadece div yapısını göstermek için). Kullanıcının ürettiği tuvalin üzerine çift tıklayacağım ve yeni bir nesne görünecek ve dolayısıyla fare koordinatlarının neden doğru olması gerektiğine inanıyorum.
Umarım birileri bana yardım edebilir.
Şimdiden teşekkürler.
DÜZENLEME: Uygulamamın bir kısmı için JQuery kullanıyorum, JQuery ile veya JQuery olmadan bir çözümün iyi olacağını belirtemedim. Tekrar teşekkürler.
. Burada bahsetmediğinizden, jQuery'yi çözümünüzün bir parçası olarak mı kullanacaksınız? Tuvale veya belgeye göre hangi fare koordinatlarını bekliyorsunuz? – Nimrod
Eğer JQuery'de daha kolay yapılabilirse, o zaman bu da tamam ... Ya her iki çözüm de ... Mesajımı güncelleyeceğim. İç div'a, yani jsfiddle'daki #canvas'a göre pozisyona ihtiyacım var. Teşekkürler. –