Schrifteffekt/Animation einfügen

Micha44 schrieb am 02.03.2019 um 11:58 Uhr

Hallo

Ich arbeite mit Web Designer Premium 16.0.0.55162 M DL x64 Oct  9 2018.

Ich bin mir nicht sicher ob es geht. Meine bisherigen Versuche liefen ins leere.

Ich möchte gern folgenden Effekt einbinden ( siehe link)

https://codepen.io/CheeseTurtle/pen/jzdgI

Da meine Kenntnisse diesbezüglich jedoch leider nicht ausreichen bitte ich hier um Hilfe.

 

Wäre echt toll.

Kommentare

BeRo schrieb am 03.03.2019 um 00:32 Uhr

[...] Ich möchte gern folgenden Effekt einbinden ( siehe link) [...]

Das geht und es ist nicht kompliziert... 😊

Nehmen wir mal an, dass Du eine Titelzeile auf Deiner Site mit dem Effekt ausstatten willst, die etwa so aussieht:

Dann musst Du anstelle der Titelzeile zunächst an der Position einen Platzhalter (Rechteck) anlegen, in derselben Größe, die später der Text haben soll.
Im HTML Head des Platzhalters legst Du den kompletten JScript Code ab, den Du auf der von Dir verlinkten Site findest. Der Code muss aber noch um das einleitende "<script>" Tag ergänzt werden und am Ende das schließende Tag "</script>" erhalten.
So sollte der Code dann aussehen:

<script>
var TxtRotate = function(el, toRotate, period) {
  this.toRotate = toRotate;
  this.el = el;
  this.loopNum = 0;
  this.period = parseInt(period, 10) || 2000;
  this.txt = '';
  this.tick();
  this.isDeleting = false;
};TxtRotate.prototype.tick = function() {
  var i = this.loopNum % this.toRotate.length;
  var fullTxt = this.toRotate[i];  if (this.isDeleting) {
    this.txt = fullTxt.substring(0, this.txt.length - 1);
  } else {
    this.txt = fullTxt.substring(0, this.txt.length + 1);
  }  this.el.innerHTML = '<span class="wrap">'+this.txt+'</span>';  var that = this;
  var delta = 300 - Math.random() * 100;  if (this.isDeleting) { delta /= 2; }  if (!this.isDeleting && this.txt === fullTxt) {
    delta = this.period;
    this.isDeleting = true;
  } else if (this.isDeleting && this.txt === '') {
    this.isDeleting = false;
    this.loopNum++;
    delta = 500;
  }  setTimeout(function() {
    that.tick();
  }, delta);
};window.onload = function() {
  var elements = document.getElementsByClassName('txt-rotate');
  for (var i=0; i<elements.length; i++) {
    var toRotate = elements[i].getAttribute('data-rotate');
    var period = elements[i].getAttribute('data-period');
    if (toRotate) {
      new TxtRotate(elements[i], JSON.parse(toRotate), period);
    }
  }
  // INJECT CSS
  var css = document.createElement("style");
  css.type = "text/css";
  css.innerHTML = ".txt-rotate > .wrap { border-right: 0.08em solid #666 }";
  document.body.appendChild(css);
};
</script>

In den HTML Body des Platzhalters kopierst Du den angepassten Teil des HTML Codes mit dem H1 Tag:

<h1>Herzlich
  <span
     class="txt-rotate"
     data-period="2000"
     data-rotate='[ "lwikommen", "illwkommen", "wiklommen", "willklmmen", "willkommen!" ]'>
</span>
</h1>

Und zusätzlich den angepassten CSS Code, der um das einleitende Style Tag "<style>" und das schließende Tag "</style>" ergänzt werden muss:

<style>
html,body {
  font-family: 'Palatino Linotype', serif;
  font-weight:bold;
  font-style:italic;
  text-decoration:none;
  font-feature-settings:'kern','liga' 0,'clig' 0,'calt' 0;
  text-transform: none;
  background-color:Transparent;
  letter-spacing:0em;
  color: #51555a
}h1 {
  margin: 0.0em 0;
}
h1 { font-size: 48px; }
</style>

So sieht das im Editor aus:

Die Anpassungen im H1 Tag betreffen den angezeigten Text "Herzlich willkommen", der hier im 2. Wort "willkommen" mit dem Effekt manipuliert wird.

Die Anpassungen im CSS Teil betreffen die Schrift, die Schriftgröße, die Schriftauszeichnung, Farbe, Laufweite, Position, etc.
Die dafür nötigen Werte kannst Du ggf. direkt aus der Datei "xr_text.css" entnehmen, die der WD nach einem lokalen Export Deiner Site im Verzeichnis "index_htm_files" anlegt:

Im o. a. Beispiel sind die Werte für die CSS Klasse ".xr_s1" markiert. Die Werte können 1:1 in den CSS Code für den Platzhalter übernommen werden, wenn der von Dir zu manipulierende Text mit der CSS Klasse vom WD verbunden wurde...
Welche CSS Klasse der WD für "Deinen" Text benutzt, das findest Du heraus, wenn Du die lokal exportierte HTML Datei mit einem Texteditor öffnest (z. B. mit "Notepad++") und den Text suchst, den Du manipulieren willst.

Im u. a. Screenshot ist das z. B. der Text "Made with MAGIX", den der WD hier mit der CSS Klasse ".xr_s8" formatiert.

Jetzt suchst Du die Klasse ".xr_s8" in der Datei "xr_text.css" und übernimmst die da gezeigten Parameter in Deinen CSS Code für den HTML Body des Platzhalters.

Natürlich musst Du die Info über die Klassen Parameter heraussuchen bevor Du die Textzeile durch den Platzhalter ersetzt, wie oben im ersten Schritt beschrieben. 😇

Das war's im Wesentlichen.

Wenn Du alles richtig gemacht hast, kann das Ergebnis etwa so aussehen, wie in der online Demo gezeigt.

Die Projektdatei zur Demo kannst Du hier herunterladen, für eigene Experimente.

Viel Erfolg 👍

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

Micha44 schrieb am 03.03.2019 um 08:14 Uhr

Hallo BeRo.

Vielen Dank, Weltklasse erklärt. Werde es gleich heute probieren. Nochmals vielen Dank besser geht nicht.

Gruss Micha