Contexte: J'ai créé une application de conception de circuits en ligne où les balises div .draggable() sont des conteneurs contenant des conteneurs div plus petits, etc. Question: Pour toute balise div particulière, je dois identifier rapidement si elle contient d'autres balises div (qui peuvent à leur tour contenir d'autres balises div).Pour les balises div "draggable" qui ne sont pas imbriquées: JQuery/JavaScript div "approach" approche/algorithme?
-> Puisque les balises div sont déplaçables, dans le DOM elles ne sont pas imbriquées l'une dans l'autre mais je pense qu'elles sont absolument positionnées. Donc, je pense qu'une approche de "test de hit" est la seule façon de déterminer le confinement, à moins qu'il y ait une routine "secrète" intégrée quelque part qui pourrait aider avec ceci.
J'ai recherché JQuery et je ne vois aucune routine intégrée pour cela. Est-ce que quelqu'un connaît un algorithme plus rapide que O (n^2)? Il me semble que je dois parcourir la liste des balises div dans une boucle externe (n) et avoir une boucle interne (un autre n) pour comparer toutes les autres balises div et faire un «test de confinement» (position, largeur, height), en construisant une liste d'étiquettes div contenues. C'est n-carré. Ensuite, je dois construire une liste de tous les tags div imbriqués en concaténant les listes contenues. Donc le total serait O (n^2) + n.
Il doit y avoir un meilleur moyen?
Y at-il une raison critique pour laquelle les divs ne sont pas imbriqués? – Lazarus
J'utilise JQuery div.draggable() pour que je puisse faire glisser le composant du circuit autour d'un espace de travail. Je ne crois pas que draggable() mette physiquement en place les balises div si j'en fais glisser une à l'intérieur d'une autre. –