php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.02.2011, 12:52  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Die Position kannst du doch berechnen - wo ist das Problem?

Mauskoordinaten relativ zur Editor-Fläche ermitteln; die Maße aller darin platzierten Div-Elemente sind bekannt und alle gleich - also ist das doch nur noch ein bisschen Geometrie ...


Btw., wenn ein Element kein Hintergrundbild haben soll, dann nimmt man den Wert none für background-image - statt url("null"), was zu einem zusätzlichen HTTP-Request mit Antwort 404 führt
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.02.2011, 13:04  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Die Position kannst du doch berechnen - wo ist das Problem?

Mauskoordinaten relativ zur Editor-Fläche ermitteln; die Maße aller darin platzierten Div-Elemente sind bekannt und alle gleich - also ist das doch nur noch ein bisschen Geometrie ...
Nein das ist nicht das Problem. Problem ist dann zu sagen :"Selektiere mir das mit der Position 100/100". Das Problem ist halt, wenn ich == angebe, dann muss ich haargenau drauf achten wohin ich klicke. sonst passiert da garnichts.. ich müsste als abfragen if(mausX ungefair oder gleich divLeft && mausY ungefair oder gleich divTop) {zeige div id}

EDIT: habe mal die Top/Left position, jedes divs anzeigen lassen und die aktuelle mausposition
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen

Geändert von BlackScorp (18.02.2011 um 13:11 Uhr).
BlackScorp ist offline   Mit Zitat antworten
Alt 18.02.2011, 13:44  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von BlackScorp Beitrag anzeigen
wieso habe ich immer so komplizierte Probleme...
Die Probleme, die du lösen willst, sind an sich gar nicht so kompliziert - du denkst nur immer viel zu kompliziert ...!

Zitat:
Nein das ist nicht das Problem. Problem ist dann zu sagen :"Selektiere mir das mit der Position 100/100". Das Problem ist halt, wenn ich == angebe, dann muss ich haargenau drauf achten wohin ich klicke. sonst passiert da garnichts.. ich müsste als abfragen if(mausX ungefair oder gleich divLeft && mausY ungefair oder gleich divTop) {zeige div id}
Stell dir vor, du hast ein kariertes Blatt Papier, machst die Augen zu, und tippst mit dem Stift irgendwo da drauf ...
Die Chancen stehen gut, dass du nicht genau die linke obere Ecke eines Kästchens triffst, sondern eher irgendwo in ein Kästchen.
Wie jetzt „berechnen“, welches Kästchen das ist?

Nun, jedes Kästchen sei 5mm (analog Pixel) breit und hoch, und wenn du von der oberen linken Ecke des Blattes aus misst, dann sei der Punkt, den du mit dem Stift gemacht hast, mal an der Position 82mm von oben und 47mm von links.
Du teilst 82mm durch 5mm, ergibt bei ganzzahliger Division 16, und 47mm durch 5mm ergibt 9.
Dein Punkt, den du gemacht hast, befindet sich also im Kästchen in der 16ten Zeile und 9ten Spalte (wenn die Zählung oben links in der Ecke mit Zeile 0/Spalte 0 beginnt, was du ja beim Programmieren höchstwahrscheinlich sowieso so und nicht anders zählen wirst; andernfalls würde man auf beide Positionen eben noch eins draufaddieren).

War das jetzt so schwer ...?

Nein, das war ein ganz simpler Algorithmus, der überhaupt nicht für jedes einzelne Kästchen „prüfen“ muss, ob die obere linke Ecke „gleich oder ungefähr gleich“ den vorgegebenen Punkt-Koordinaten ist - sondern das eine Kästchen einfach berechnet.

Das Problem mit den Überlappungen deiner DIV-Elemente wäre jetzt theoretisch noch zu betrachten - in der Praxis ist das hier aber uninteressant, denn du hast ja keine horizontal/vertikal angeordneten, quadratischen Kästchen, sondern eigentlich Rauten, die wiederum ohne Überlappung aneinander grenzen.

Es wäre jetzt also zu überlegen (deine Aufgabe), wie man den oben beschriebenen „Algorithmus“ zur Berechnung, welches Kästchen an einer bestimmten Position liegt, von quadratischen Kästchen auf Rauten anpasst.
Wie schon gesagt, ein bisschen Geometriekenntnisse hinzu nehmen, dann sollte auch das nicht allzu kompliziert werden.

Die Position der Raute lässt sich dann anschließend wieder in die Position, an der das neue Element positioniert werden muss, umrechnen. (Es reicht ja aus, das DIV-Element erst beim Platzieren eines neuen Tiles zu erstellen, da müssen ja nicht von vornherein zig DIV-Elemente vorhanden sein, die einfach nur leere Flächen darstellen. Zumindest bei diesem Ansatz mit der Berechnung der Positionen, und nicht bei deinem komplizierten, der für x Elemente einzeln prüfen will, ob sie unter der Mauszeigerposition liegen.)
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 18.02.2011, 13:45  
Erfahrener Benutzer
 
Registriert seit: 25.05.2010
Beiträge: 852
PHP-Kenntnisse:
Anfänger
Trainmaster wird schon bald berühmt werden
Standard

Kurze Frage: Hast du schon mal ui.draggable in Verbindung mit einem Grid versucht?
Trainmaster ist offline   Mit Zitat antworten
Alt 18.02.2011, 13:52  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

Zitat:
Zitat von Trainmaster Beitrag anzeigen
Kurze Frage: Hast du schon mal ui.draggable in Verbindung mit einem Grid versucht?
ja habe ich aber ein grid kann nicht für diese anordnung verwendet werden , da jede 2e Reihe um halbe tilebreite nach links verschoben ist.. dann werde ich mich ein bisschen in Geomtrie einlesen

MFG

EDIT: Oh mein gott bin ich dumm.. aus koordinaten rechte ich doch die top und left position des divs aus.. ich muss jetzt nur noch mausposition als top verwenden und x/y koordiane als gesucht und dann die formel umstellen.. *facepalm* ich denke wirklich zu kompliziert
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen

Geändert von BlackScorp (18.02.2011 um 14:24 Uhr).
BlackScorp ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
wie Ordnergröße ermitteln (filesize) ColeThornten PHP Einsteiger 3 10.01.2011 21:34
File modification time einer .js Datei mit js ermitteln papalangi_44 JavaScript, Ajax und mehr 4 04.01.2011 21:09
[Erledigt] Upload: Dateigröße VOR Start des Uploads ermitteln tobobant JavaScript, Ajax und mehr 9 18.12.2010 20:00
Navileiste saaja HTML, Usability und Barrierefreiheit 11 07.12.2010 14:15
Hover nicht nebeneinander wers1 HTML, Usability und Barrierefreiheit 11 18.08.2008 07:23
Google Adwords - echten Referer ermitteln NetLook PHP Tipps 2006 2 12.05.2006 08:40
Die Position ein. Datensätzes aus einer Datenliste ermitteln Locutus007 Datenbanken 8 07.03.2006 16:59
Dateiname, Dateigröße ermitteln HTML, Usability und Barrierefreiheit 5 29.01.2006 22:16
build nummer des bs ermitteln ... nur bei microsoft's bs!!! PHP Tipps 2005-2 2 24.07.2005 15:59
Besucher mit den meisten GB Einträgen ermitteln! Datenbanken 7 21.04.2005 12:09
Bildschirmauflösung ermitteln? Pimbolie1979 HTML, Usability und Barrierefreiheit 13 16.01.2005 01:28
pixelbreite eines Wort ermitteln... 18inch PHP Tipps 2005 5 07.01.2005 22:55
CRC Summe einer Datei ermitteln?? PHP Tipps 2004 1 14.10.2004 09:23
[Erledigt] Tabellenname eines Feldes ermitteln PHP-Fortgeschrittene 3 22.09.2004 15:49
Referrer ermitteln? PHP Tipps 2004 8 13.09.2004 13:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
div hover mit javascript, js das hover element ermitteln -css

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum