Heim > Web-Frontend > CSS-Tutorial > Wie füge ich beim Hover mithilfe von SVG-Mustern ein Bild zu einem D3-Kreis hinzu?

Wie füge ich beim Hover mithilfe von SVG-Mustern ein Bild zu einem D3-Kreis hinzu?

Mary-Kate Olsen
Freigeben: 2024-11-24 20:52:13
Original
340 Leute haben es durchsucht

How to Add an Image to a D3 Circle on Hover Using SVG Patterns?

Hinzufügen eines Bildes zu einem D3-Kreis mithilfe von Mustern

Beim Versuch, ein Bild zu einem vorhandenen Kreis in D3 hinzuzufügen, schlägt das Bild fehl Anzeige nach dem Schweben, obwohl der Kreis gerendert wird und auf Mouseover-Ereignisse reagiert, wenn einfache Füllattribute verwendet werden.

Um dieses Problem zu beheben, ist Folgendes erforderlich Verwenden Sie ein Muster im SVG. Das Muster definiert die Positionierung und Skalierung des Bildes. Hier ist ein Beispiel:

<svg>
Nach dem Login kopieren

In D3 können Sie dann die Füllung des Kreises ändern, um das Muster zu verwenden:

svg.append("circle")
  .attr("class", "logo")
  .attr("cx", 225)
  .attr("cy", 225)
  .attr("r", 20)
  .style("fill", "transparent") // Make the circle transparent to display the image
  .style("stroke", "black")
  .style("stroke-width", 0.25)
  .on("mouseover", function() {
    d3.select(this)
      .style("fill", "url(#image)");
  })
  .on("mouseout", function() {
    d3.select(this)
      .style("fill", "transparent");
  });
Nach dem Login kopieren

Dieser Code hängt einen Kreis an die SVG-Datei an und formatiert seine Füllung entsprechend transparent sein, damit das Bild des Musters sichtbar ist. Wenn Sie mit der Maus über den Kreis fahren, wird die Füllung so geändert, dass das Bild angezeigt wird, während bei gedrückter Maustaste die Füllung wieder transparent wird.

Das obige ist der detaillierte Inhalt vonWie füge ich beim Hover mithilfe von SVG-Mustern ein Bild zu einem D3-Kreis hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage