• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Erst Schrift laden, dann das Script – Wie geht das?

leim12a

Neues Mitglied
Hallo,

gerne möchte ich das Marquee3k-Script verwenden.
Damit der Durchlauf auch mit eigenen Fonts smooth läuft, empfiehlt der Entwickler Folgendes:
»If you are using images or custom fonts, initialise Marquee3000 AFTER they have been loaded!«

Angenommen ich verwende dafür webfontloader.js, wie code ich das so, damit das Script funktioniert?

Code:
<script>

WebFontConfig = {
  custom: {
    families: ['meineschrift1', 'meineschrift2'],
    active: function(){
*Wie bekomme ich das marquee3k.js hier rein?*
}
  }
};

</script

Für Hilfe wäre ich sehr dankbar!

Herzliche Grüße
 
Werbung:
Verstehe ich das jetzt richtig ,du willst erst das webfontloadet Script laden und dann das marquee3k Script.? Reicht das nicht wenn du die reinfolge einhälst ?
Oder du startest das Script in den du es in den
Javascript:
 $(document).ready(function(){

//Dein Script
});
packst.
Dann solte es erst starten wenn alles geladen ist.
Dann kann man Scripte noch async Laden.
Oder Notfalls lädst du das Script etwas später mit setTimeout.
Oder habe ich jetzt was falsch verstanden?
 
Hey,

danke für deine Antwort!

Wie genau das funktionieren soll ... keine Ahnung.
Der Entwickler des Scripts hat mir dafür fontfaceobserver.js empfohlen, von einem Bekannten wurde ich auf webfontloader.js verwiesen.

Leider peile ich Beides nicht so wirklich. Das »$(document).ready(function(){« hat gerade leider nichts geändert, es läuft immer noch sehr holprig ...
 
Werbung:
Dann lad das Script doch mal einfach etwas später,wenn du glaubst das es daran liegt.Wenn das nicht klappt dann poste doch mal dein Code,weil du schreibst was von ruckeln ,das kann auch wo anders weg kommen

Script später laden könnte man so machen
Code:
setTimeout(function(){
var neuscript= document.createElement('script');
neuscript.type = 'text/javascript';
neuscript.src = 'link_zum_spätergeladenen_Script.js';
document.getElementsByTagName('head')[0].appendChild(neuscript);
},500);
 
Das habe ich gerade probiert. Leider ändert sich dabei nicht viel.
Ich hab dir gerade eine Nachricht mit dem Link zur Website geschickt.
 
Sowas in der Art?

Code:
<script>
    WebFontConfig = {
     custom: {
    families: ['meineschrift1', 'meineschrift2']
   };

   (function(d) {
      var wf = d.createElement('script'), s = d.scripts[0];
      wf.src = 'js/marquee3k.js';
      wf.async = true;
      s.parentNode.insertBefore(wf, s);
   })(document);
</script>
 
Werbung:
Aus eigenen Interesse.
Code:
<img src="svg/schliessen.svg" id="closebutton" alt="schließen" onmouseover="this.src='svg/schliessen_hover.svg'" onmouseout="this.src='svg/schliessen.svg'" border="0" alt=""/>
Den Code hast du 10 mal auf deiner Page. Das heißt 10 mal die gleiche Id und 10 mal doppelt atributte alt="" border="0" schreibt man da eigentlich auch nicht mehr rein.
Dieses hier
Code:
<canvas id="canvas" resize></canvas>
Geht meines wissens auch nicht,aber da können dir die anderen bestimmt genauer was zu sagen.

Diesen Teil
Code:
type="text/javascript"
Kannst du bei allen script einbindungen weg lassen.
Dann sind die meisten Fehler schon mal weg.Weil doppelte id`s ist immer schlecht
 
Ich habe dir eine PN geschrieben mit einen Namen.Schick ihn mal dein Link,der hat ahnung.
Ich bin der Meinung das der Fehler wo anders liegt,habe den aber noch nicht gefunden.
Finde dafür immer andere neue Fehler.
zb
Code:
<link rel="stylesheet" href="css/styles.css">
der Link führt zu einer 404 Error Page.Also auch nicht optimal wenn ich es Vorsichtig ausdrücke
 
Zuletzt bearbeitet:
Werbung:
Wenn dies:
https://github.com/ezekielaquino/Marquee3000
das Marquee-Skript ist, müsste es so aussehen:
Code:
WebFontConfig = {
  custom: {
    families: ['meineschrift1', 'meineschrift2'],
    active: function(){
        Marquee3k.init();
    }
  }
}



Also dann:

Code:
<script>
WebFontConfig = {

  custom: {

    families: ['meineschrift1', 'meineschrift2'],

    active: function(){

        Marquee3k.init();

    }

  }

}
<script>
<script src="js/marquee3k.js"></script>

?

Sorry, dass ich mich so blöd anstelle ...
 
Habe gesehen das du einige Fehler weg gemacht hast .laut Valiator sind es jetzt nur noch die hälte.
Aber den Sclimmsten Fehler (So meine ich es das es der schlimmste ist ) mit den 10 gleichen id`s ist noch da.
Das kannst du aber so ändern.
Erstens löscht du die schliesen Bilder und ersetzt das mit
Code:
<span class="closebutton">X</span>
Dazu änderst du deine Css dazu in das
Code:
.closebutton {
float: right;
background-color: white;
height: 33px;
width: 33px;
font-size:26px;
padding:0px 3px 3px 0px;
font-weight:900;
border-left: 2px solid black;
cursor:pointer;
}

.closebutton:hover {
background: blue;
cursor: pointer;
color:white;
}
Somit brauchst du nicht 10 mal ein Bild zu laden (Eigentlich 1 mal ) und die Id wird durch Class ersetzt wo man auch 10 mal den gleichen Namen haben darf.
Durch die Css sieht es genau so aus wie ein Bild.

Dann wären es wieder 10 Fehler wenniger und du hast nur noch einen error Fehler das mit den Canvas was ich in post#10 schon schrieb.

Aber das ist alles nur ein Vorschlag,was du machst mußt du wissen.

Mir kommt es so vor das das Stottern immer dann kommt wenn das Script reverse macht. Habe mal die ganzen Fonts rausgelöscht und das Stottern bleibt trotzdem

Das Thema marquee hatten wir letztens erst in irgendein Forum gehabt,da gab es auch nur Probleme.Wir hatten da auch Alternativen versucht wie @keyframes jquery animate oder auch andere Bibiliotheken. Da gab es auch gute resultate. Vieleicht wäre das auch was für dich?
 
Werbung:
Zurück
Oben