Linuchs: Lied-Texte: Versetzte Einsätze markieren

Beitrag lesen

das Prinzip habe ich:

<body onresize='linie_onrezize("t17_start","t17_ende")'>

…
Well, your faith was strong but you needed proof. You saw her bathing in the roof. Her beauty in the moonlight over-trew ya. <takt id="t17_start">17</takt> She T1ed you to  …

<takt id="t17_ende">17</takt> <i class=em08>mp</i> She tied you to a kitchen chair. She broke your throne, and she cut your hair. And from your lips she drew the Hallelujah …
  function linie_onrezize( elem1,elem2 ) {
    var x1=0, y1=0, x2=0, y2=0;
    y1+=document.getElementById( elem1 ).offsetTop  +10;     /* Offset des jeweiligen Elements addieren */
    x1+=document.getElementById( elem1 ).offsetLeft +10;
    y2+=document.getElementById( elem2 ).offsetTop  +10;     /* Offset des jeweiligen Elements addieren */
    x2+=document.getElementById( elem2 ).offsetLeft +10;
    oben   = Math.min(y1,y2);
    unten  = Math.max(y1,y2);
    links  = Math.min(x1,x2);
    rechts = Math.max(x1,x2);
    document.getElementById('svg').style.left   = links +"px";
    document.getElementById('svg').style.top    = oben +"px";
    document.getElementById('svg').style.width  = (rechts - links) +"px";
    document.getElementById('svg').style.height = (unten  - oben)  +"px";
  }
  function linie(elem1,elem2,farbe) {
  	var x1=0, y1=0, x2=0, y2=0;
  	y1+=document.getElementById( elem1 ).offsetTop  +10;     /* Offset des jeweiligen Elements addieren */
  	x1+=document.getElementById( elem1 ).offsetLeft +10;
  	y2+=document.getElementById( elem2 ).offsetTop  +10;     /* Offset des jeweiligen Elements addieren */
  	x2+=document.getElementById( elem2 ).offsetLeft +10;
  	oben   = Math.min(y1,y2);
  	unten  = Math.max(y1,y2);
  	links  = Math.min(x1,x2);
  	rechts = Math.max(x1,x2);
  //	alert( "<svg><line x1='" + x1 +"'  y1='" + y1 + "' x2='200' y2='200' style='fill:#dfac20;stroke:#3983ab;stroke-width:2' /><\/svg>\n" );
  //  alert( "x1=[" + x1 + "] y1=[" + y1 + "]" );
  	document.write( "<svg id='svg' style='position:absolute;left:" + links + "px;top:" + oben +"px;width:" + (rechts - links) + "px;height:" + (unten - oben) + "px;'><line x1='100%' y1=0 x2=0 y2='100%' style='stroke:" + farbe + ";stroke-width:1' /><\/svg>\n" );
  }
  linie("t17_start","t17_ende","#f00");

Bei onrezize wird die Linie neu berechnet, aber leider nicht, wenn gedruckt werden soll. Da bleibt sie da stehen, wo sie vorher auf dem Bildschirm war.

Wie kann auch der Druck korrekt werden?

Beispiel kann ich hochladen, wenn gewünscht. Dauert aber. Wegen Verlust des alten Laptop muss ich alles neu enrichten, auch Filezilla.

Gruß, Linuchs