Maison interface Web Tutoriel H5 Introduction au SVG 2D en HTML5 12 – Introduction aux compétences du didacticiel SVG DOM et DOM Operations_html5

Introduction au SVG 2D en HTML5 12 – Introduction aux compétences du didacticiel SVG DOM et DOM Operations_html5

May 16, 2016 pm 03:50 PM
2d dom svg

L'utilisation de scripts peut facilement effectuer diverses tâches complexes, et constitue également un moyen courant de réaliser une animation et une interaction. Puisque SVG est un élément HTML, il prend en charge les opérations DOM ordinaires. Et comme SVG est essentiellement un document XML, il existe également une opération DOM spéciale, principalement appelée SVG DOM. Bien entendu, comme IE ne prend actuellement pas en charge SVG, le développement de pages SVG basées sur IE nécessite des méthodes différentes. En fait, tout le monde connaît cette partie de la connaissance, alors jetons-y un bref coup d’œil.

Opérations DOM dans les pages HTML
Tout le monde devrait être familier avec DOM :

Copier le codeLe code est le suivant :

= "http://www.w3.org/2000/svg";
var boxWidth = 300;
var boxHeight = 300;
var svgElem = document.createElementNS (xmlns, "svg");
svgElem.setAttributeNS (null, "viewBox", "0 0 " boxWidth " " boxHeight);
svgElem.setAttributeNS (null, "largeur", boxWidth
svgElem.setAttributeNS (null, "hauteur); " , boxHeight);
svgElem.style.display = "block";
var g = document.createElementNS (xmlns, "g");
svgElem.appendChild (g);
g. setAttributeNS (null, 'transform', 'matrix(1,0,0,-1,0,300)');
// dessiner un dégradé linéaire
var defs = document.createElementNS (xmlns, "defs");
var grad = document.createElementNS (xmlns, "linearGradient");
grad.setAttributeNS (null, "id", "gradient"); % ");
grad.setAttributeNS (null, "x2", "0%");
grad.setAttributeNS (null, "y1", "100%");
grad.setAttributeNS (null , "y2", "0%");
var stopTop = document.createElementNS (xmlns, "stop");
stopTop.setAttributeNS (null, "offset", "0%"); stopTop .setAttributeNS (null, "stop-color", "#ff0000");
grad.appendChild (stopTop);
var stopBottom = document.createElementNS (xmlns, "stop"); setAttributeNS (null, "offset", "100%");
stopBottom.setAttributeNS (null, "stop-color", "#0000ff"); appendChild (grad);
g.appendChild (defs);
// dessiner des bordures
var coords = "M 0, 0"
coords = " l 0, 300"; coords = " l 300, 0";
coords = " l 0, -300";
coords = " l -300, 0"
var path = document.createElementNS (xmlns, "path"; ) ;
chemin.setAttributeNS (null, 'AVC', "#000000");
chemin.setAttributeNS (null, 'largeur de trait', 10
chemin.setAttributeNS (null, 'AVC); - linejoin', "round");
path.setAttributeNS (null, 'd', coordonnées);
path.setAttributeNS (null, 'fill', "url(#gradient)"); chemin .setAttributeNS (null, 'opacity', 1.0);
g.appendChild (chemin);
var svgContainer = document.getElementById ("svgContainer"); > }


;



Avez-vous remarqué que le fonctionnement DOM des éléments HTML ordinaires est exactement le même :
Sélectionnez un élément : document.getElementById
Créez un élément : document.createElementNS
Une autre façon de créer des éléments enfants : element createChildNS.
Ajouter un élément : node.appendChild
Définir les attributs de l'élément : element.setAttributeNS/element.setAttribute
En plus des opérations ci-dessus, les opérations et attributs suivants sont également courants :
Obtenir le attributs Valeur de l'attribut : element.getAttributeNS/element.getAttribute
Vérifier si un attribut existe sur l'élément : element.hasAttributeNS
Supprimer un attribut de l'élément : element.removeAttributeNS
Élément parent, élément enfant et nœud frère : element.parentNode/element.firstChild/child.nextSibling
Ces méthodes ne seront pas présentées en détail ici de plus, la structure des nœuds de l'arborescence DOM et la relation d'héritage entre les objets sont également similaires, elles ne le seront donc pas ; décrit en détail. Les étudiants qui en ont besoin peuvent se référer ultérieurement à la documentation de DOM Core Object.
Cependant, il convient de noter que SVG est essentiellement un document XML, donc les méthodes DOM de base utilisées se terminent toutes par NS pour fournir des espaces de noms associés ; si un espace de noms a été fourni lors de la création d'un élément et qu'il n'y a pas plusieurs espaces de noms ; problème, alors lors de la définition des attributs associés, vous pouvez également choisir d'utiliser la version sans NS, par exemple en utilisant directement element.setAttribute pour définir la valeur de l'attribut, mais en général, il est toujours fortement recommandé d'utiliser la version avec la terminaison NS, car cette version fonctionne toujours bien, même dans le cas de plusieurs espaces de noms.
SVG DOM
En quoi est-ce différent du DOM standard Je n'ai trouvé aucune information complète Actuellement, je sais seulement que les méthodes d'attribution des attributs sont différentes. Si des étudiants sont au courant, n'hésitez pas à me le faire savoir.
Dans l'exemple ci-dessus, nous utilisons element.setAttributeNS/element.setAttribute pour attribuer des valeurs aux attributs. Dans SVG DOM, vous pouvez utiliser la méthode orientée objet pour attribuer des valeurs aux attributs des objets en accédant au point. Par exemple, voici deux méthodes de comparaison :
Méthode DOM commune :

Copier le code
Le code est le suivant :

element.setAttribute("x", "10");
element.setAttribute("y", "20"); ("width", "100%");
element.setAttribute("height", "2em");

Et la manière SVG DOM :


Copier le code Le code est le suivant :
element.x.baseVal.value = 10
element; .y.baseVal.value = 20;
element.width .baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PERCENTAGE, 100);
element.height.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_EMS, 10); >
Le script DOM est un script traditionnel, caractérisé par la transmission de « chaînes de valeurs » à Construct pour définir des éléments individuels. L'avantage du style de script SVG DOM est que vous n'avez pas besoin de créer une "chaîne de valeur", les performances sont donc meilleures que celles du script DOM.

Script intégré dans SVG

Si vous souhaitez ajouter un script dans SVG, vous devez utiliser l'élément script Cela a déjà été mentionné. En dehors de cela, c'est essentiellement. la même chose que de mettre le script dans C'est la même chose dans le HTML externe. Regardez un exemple :


Copiez le code
Le code est le suivant :










Cliquez sur ce texte pour afficher la couleur du rectangle.
Cliquez sur le rectangle pour afficher la zone du rectangle.
Cliquez sur ce texte pour afficher le numéro d'enfant
éléments de l'élément racine.






1. Il s'agit d'un document.getElementById ou d'un document.getElementByClassName 2. Il s'agit d'un document.documentElement ou d'un document.rootElement.document.3. Il s'agit d'un projet evt.target.对象。
其余的脚本基本和普通的DOM是一样的。


实用参考:

脚本索引:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85).aspx
开发中心:https://developer.mozilla.org/en/SVG
热门参考:http://www.chinasvg.com/
官方文档:http://www.w3.org/TR/SVG11/
API DOM Core Object:http://reference.sitepoint.com/javascript/Document
SVG DOM常用属性和方法 :http://riso.iteye.com/blog/393454, http://riso.iteye.com/blog/393459
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Parlons de la façon d'utiliser SVG pour obtenir un effet de mosaïque d'images Parlons de la façon d'utiliser SVG pour obtenir un effet de mosaïque d'images Sep 01, 2022 am 11:05 AM

Comment utiliser SVG pour obtenir un effet de mosaïque d’images sans utiliser Javascript ? L'article suivant vous donnera une compréhension détaillée, j'espère qu'il vous sera utile !

Comment convertir le format svg au format jpg Comment convertir le format svg au format jpg Nov 24, 2023 am 09:50 AM

svg peut être converti au format jpg à l'aide d'un logiciel de traitement d'image, d'outils de conversion en ligne et de la bibliothèque de traitement d'image Python. Introduction détaillée : 1. Le logiciel de traitement d'images comprend Adobe Illustrator, Inkscape et GIMP ; 2. Les outils de conversion en ligne incluent CloudConvert, Zamzar, Online Convert, etc. ; 3. Bibliothèque de traitement d'images Python, etc.

Quels sont les moyens d'obtenir des nœuds DOM dans Vue3 Quels sont les moyens d'obtenir des nœuds DOM dans Vue3 May 11, 2023 pm 04:55 PM

1. Native js obtient le nœud DOM : document.querySelector (sélecteur) document.getElementById (sélecteur d'identifiant) document.getElementsByClassName (sélecteur de classe).... 2. Récupère l'objet instance du composant actuel dans vue2 : car chaque vue Chaque L'instance de composant contient un objet $refs, qui stocke les références aux éléments ou composants DOM correspondants. Ainsi, par défaut, les $refs du composant pointent vers un objet vide. Vous pouvez d'abord ajouter ref="name" au composant, puis transmettre this.$refs.

Une analyse approfondie de la façon d'utiliser les icônes svg dans vue3+vite Une analyse approfondie de la façon d'utiliser les icônes svg dans vue3+vite Apr 28, 2022 am 10:48 AM

Les images svg sont largement utilisées dans les projets. L'article suivant explique comment utiliser les icônes svg dans vue3 + vite. J'espère que cela sera utile à tout le monde !

Guide de manipulation du DOM en PHP Guide de manipulation du DOM en PHP May 21, 2023 pm 04:01 PM

Dans le développement web, DOM (DocumentObjectModel) est un concept très important. Il permet aux développeurs de modifier et d'exploiter facilement le document HTML ou XML d'une page Web, comme ajouter, supprimer, modifier des éléments, etc. La bibliothèque d'opérations DOM intégrée à PHP fournit également aux développeurs des fonctions riches. Cet article présentera le guide d'opérations DOM en PHP, dans l'espoir d'aider tout le monde. Le concept de base de DOM DOM est une API multiplateforme indépendante du langage qui peut

Quelle est la raison pour laquelle la liaison ref à dom ou composant échoue dans vue3 et comment la résoudre Quelle est la raison pour laquelle la liaison ref à dom ou composant échoue dans vue3 et comment la résoudre May 12, 2023 pm 01:28 PM

Description du scénario d'analyse de la raison de défaillance d'un composant ou du DOM de liaison Vue3ref Dans Vue3, il est souvent utilisé pour utiliser ref pour lier des composants ou des éléments DOM. Plusieurs fois, ref est clairement utilisé pour lier des composants associés, mais la liaison ref échoue souvent. Exemples de situations d'échec de liaison de référence La grande majorité des cas où la liaison de référence échoue est lorsque la référence est liée au composant, le composant n'a pas encore été rendu, donc la liaison échoue. Ou le composant n'est pas rendu au début et la référence n'est pas liée. Lorsque le composant commence à être rendu, la référence commence également à être liée, mais la liaison entre la référence et le composant n'est pas terminée. À ce stade, des problèmes surviendront. lors de l'utilisation de méthodes liées aux composants. Le composant lié à ref utilise v-if, ou son composant parent utilise v-if pour provoquer l'affichage de la page.

Que signifie vue dom ? Que signifie vue dom ? Dec 20, 2022 pm 08:41 PM

DOM est un modèle objet de document et une interface pour la programmation HTML. Les éléments de la page sont manipulés via DOM. Le DOM est une représentation objet en mémoire d'un document HTML et fournit un moyen d'interagir avec des pages Web à l'aide de JavaScript. Le DOM est une hiérarchie (ou arbre) de nœuds avec le nœud document comme racine.

Produit par l'Université de Pékin : le dernier SOTA avec une qualité de texture et une cohérence multi-vues, permettant la conversion 3D d'une image en 2 minutes Produit par l'Université de Pékin : le dernier SOTA avec une qualité de texture et une cohérence multi-vues, permettant la conversion 3D d'une image en 2 minutes Jan 10, 2024 pm 11:09 PM

Cela ne prend que deux minutes pour convertir des images en 3D ! C'est également le type avec une qualité de texture élevée et une cohérence élevée dans plusieurs angles de vision. Quelle que soit l'espèce, l'image à vue unique lors de la saisie est toujours comme ceci : Deux minutes plus tard, la version 3D est terminée : △ Upper, Repaint123 (NeRF) Lower, Repaint123 (GS) La nouvelle méthode s'appelle Repaint123. L'idée principale est de combiner la 2D. Les puissantes capacités de génération d'images du modèle de diffusion sont combinées aux capacités d'alignement de texture de la stratégie de redessinage pour générer des images cohérentes et de haute qualité sur plusieurs vues. En outre, cette étude introduit également une méthode d’intensité de repeinture adaptative sensible à la visibilité pour les régions qui se chevauchent. Repaint123 résout d'un seul coup les problèmes des méthodes précédentes tels que l'écart important entre les vues multiples, la dégradation de la texture et la génération lente. Article actuel

See all articles