freakyf
Goto Top

Fette Schrift im Java Script

Hallo,

ich habe auf meiner Webseite einen Countdown. Es werden Tage, Stunden, Minuten und Sekunden angezeigt.
Ich will, dass diese Angaben "fett" angezeigt werden.
Leider habe ich das bis jetzt nicht hinbekommen.

Hier das Script:

<?php

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
JHTML::script('ulticounter.js','modules/mod_ulti_counter/javascript/',false);
?>
<div id="ulti_counter" class="ulti_counter<?php echo $moduleclass_sfx;?>">
<div class="ulti_counter_leading">
<?php echo $leading; echo " "; ?>
</div>
<div class="ulti_counter_middle"><div id="counter<?php echo $counterID; ?>"></div>
<script type="text/javascript">ulticountdown(<?php echo $timeleft;?>,<?php echo $counterID; ?>,<?php echo $format; ?>,<?php echo $keepCounting; ?>);</script>
</div>
<div class="ulti_counter_tailing">
<?php echo " "; echo $tailing; ?>
</div>
</div>


Die Zahlen werden über die Variable "ulticountdown" übergeben. Diese sollen fett sein.
Wie muss ich es also machen, damit die Werte, die mit "ulticountdown" übergeben werden, fett sind?


Danke schon mal im Voraus.

Content-Key: 110599

Url: https://administrator.de/contentid/110599

Printed on: April 18, 2024 at 12:04 o'clock

Member: EvilMoe
EvilMoe Mar 05, 2009 at 09:51:44 (UTC)
Goto Top
Einfach davor ein "< b>" setzen und nacher ein < /b> sollte helfen ;)

Leerzeichen muss entfernt werden weil sonst das Forum hier meinen Text Fett anzeigt.
Member: FreakyF
FreakyF Mar 05, 2009 at 09:55:04 (UTC)
Goto Top
Lösung:

<?php

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
JHTML::script('ulticounter.js','modules/mod_ulti_counter/javascript/',false);
?>

<div id="ulti_counter" class="ulti_counter<?php echo $moduleclass_sfx;?>">
<div class="ulti_counter_leading">
<?php echo $leading; echo " "; ?>
</div>
<b >
<div class="ulti_counter_middle"><div id="counter<?php echo $counterID; ?>"></div>
<script type="text/javascript">ulticountdown(<?php echo $timeleft;?>,<?php echo $counterID; ?>,<?php echo $format; ?>,<?php echo $keepCounting; ?>);</script>
</div>
</b >
<div class="ulti_counter_tailing">
<?php echo " "; echo $tailing; ?>
</div>
</div>
Member: FreakyF
FreakyF Mar 05, 2009 at 09:55:48 (UTC)
Goto Top
Danke für den Tipp. War einfach zu einfach face-smile
Member: FreakyF
FreakyF Mar 05, 2009 at 21:11:47 (UTC)
Goto Top
Neues Problem ist aufgetreten.
Internet Explorer 7 zeigt die gewünschte Stelle "fett" an.
Beim Firefox 3 dagegen sieht man nichts davon.

Wie bekomm ich es hin, dass die Stelle auch im Firefox fett ist?
Member: EvilMoe
EvilMoe Mar 05, 2009 at 21:41:25 (UTC)
Goto Top
Pack das "< b>" mal in den "< div>" rein und nicht davor. Natürlich muss auch das "< /b>" dann am ende des div nicht fehlen.

Eine alternative wäre es, finde ich auch schöner wäre das mit CSS zu regeln.
Member: FreakyF
FreakyF Mar 05, 2009 at 22:27:04 (UTC)
Goto Top
Meinst du so:

<div class="ulti_counter_middle"><b ><div id="counter<?php echo $counterID; ?>"></b ></div>

oder so:

<div class="ulti_counter_middle"><div id="counter<?php echo $counterID; ?>"></div>
<b >
<script type="text/javascript">ulticountdown(<?php echo $timeleft;?>,<?php echo $counterID; ?>,<?php echo $format; ?>,<?php echo $keepCounting; ?>);</script>
</b >
</div>

Hab ich beides ausprobiert, kein Erfolg. Alles außer die Variable "ulticountdown" kann ich fett machen.
Ich hab mal die Funktion hinzugefügt, die den Countdown erstellt.
Leider habe ich nicht herausfinden können, wie ich die übertragene Zeit fett machen kann:


function ulticountdown(time, id, format, keepCounting){

timeleft = time;
var countUp = false;
if (timeleft < 0) {
if (keepCounting == 0) {
timeleft = 0;
} else {
timeleft *= -1;
countUp = true;
}
}
seconds = timeleft%60;
timeleft -= seconds;
timeleft = timeleft/60;
minutes = timeleft%60;
timeleft -= minutes;
timeleft = timeleft/60;
hours = timeleft%24;
timeleft -= hours;
days = timeleft/24;
var counterstring = '';
if (format == 1) {

if (days != 0) {
counterstring = days+" Tag";
if (days != 1) {
counterstring = counterstring+"e";
}
}
if (hours != 0) {
counterstring = counterstring+" "+hours+" Stunde";
if (hours != 1) {
counterstring = counterstring+"n";
}
}
if (minutes != 0) {
counterstring = counterstring+" "+minutes+" Minute";
if (minutes != 1) {
counterstring = counterstring+"n";
}
}
counterstring = counterstring+" "+seconds+" Sekunde";
if (seconds != 1) {
counterstring = counterstring+"n";
}
} else if (format == 2) {

if (days != 0) {
counterstring = days+" Tag";
if (days != 1)
counterstring += "e";
}
if (hours != 0) {
counterstring += " "+hours+" Stunde";
if (hours != 1)
counterstring += "n";
}
counterstring += " "+minutes+" Minute";
if (minutes != 1)
counterstring += "n";
} else if (format == 3) {
if (days != 0) {
counterstring = days+" Tag";
if (days != 1)
counterstring += "e";
}
counterstring += " "+hours+" Stunde";
if (hours != 1)
counterstring += "n";
} else if (format == 4) {
counterstring = days+" Tag";
if (days != 1)
counterstring += "e";
} else if (format == 5) {
if (days != 0) {
counterstring = days+" Tag";
if (days != 1)
counterstring += "e";
}
counterstring += " "+hours+":"+minutes+":"+seconds;
} else if (format == 6) {
counterstring = days;
}else {
// we should never get here, but for safety add the last one as default case.
var counterstring = days+" Tag";
if (days != 1)
counterstring += "e";
counterstring += " "+hours+":"+minutes+":"+seconds;
}

var newdiv = document.createElement("div");
newdiv.innerHTML = counterstring;
var olddiv = document.getElementById("counter"+id);
var parent = olddiv.parentNode;
parent.removeChild(olddiv);
newdiv.id = "counter"+id;
parent.appendChild(newdiv);


if (countUp == true) {
newtime = time-1;
} else {
newtime = time-1;
}
setTimeout("ulticountdown("+newtime+","+id+","+format+", "+keepCounting+")",1000);
}
Member: EvilMoe
EvilMoe Mar 05, 2009 at 22:32:36 (UTC)
Goto Top
<div class="ulti_counter_middle"><b ><div id="counter<?php echo $counterID; ?>"></b ></div>  

Ist ja totaler blödsinn. Ausserdem ist das div doch leer was soll da denn fett angezeigt werden?

Wenn dann so:

<div class="ulti_counter_middle">  
  <div id="counter<?php echo $counterID; ?>"><b>Text der fett sein soll...</b></div>  
Member: FreakyF
FreakyF Mar 06, 2009 at 09:39:38 (UTC)
Goto Top
Das div ist doch nicht leer. Es wird die Variable $counterID ausgegeben.
<div id="counter<?php echo $counterID; ?>"></div>

Und diese soll fett sein, nicht der Text dannach.

Das Ergebnis soll dann so aussehen:

TEXT
10 Tage 12 Stunden 22 Minuten 38 Sekunden
TEXT
Member: EvilMoe
EvilMoe Mar 06, 2009 at 11:55:05 (UTC)
Goto Top
Schau genau hin. Das div ist leer. Du erzeugst nur eine id für das div wo deine PHP Variable drin steht. Was du willst sollte so aussehen wenn ichs richtig verstanden habe :

<div id="counter"><b><?php echo $counterID; ?></b></div>  
Member: FreakyF
FreakyF Mar 06, 2009 at 12:28:17 (UTC)
Goto Top
Ja du hast mich richtig verstanden. Ich hab's jetzt nach deiner Anleitung so gemacht:

<div class="ulti_counter_middle"><div id="counter"><b ><?php echo $counterID; ?></b ></div>

Ergebnis:

TEXT
hier steht eine Zahl
TEXT

Die Zahl hat nicht's mehr mit meinem Countdown zu tun face-sad


<div class="ulti_counter_middle"><b ><div id="counter<?php echo $counterID; ?>"></b ></div>

Warum zeigt das der IE fett, der Firefox aber nicht fett an?
Member: EvilMoe
EvilMoe Mar 06, 2009 at 13:16:37 (UTC)
Goto Top
Weil das Totaler blödsinn ist. Du öffnet ein b und dann ein div. Dann schließt du ein b und dann erst dein div. Das muss umgekehrt sein.

<div class="ulti_counter_middle"><b><div id="counter<?php echo $counterID; ?>"></div></b>  
Member: FreakyF
FreakyF Mar 06, 2009 at 15:14:31 (UTC)
Goto Top
Ah, also so:

...
<div class="ulti_counter_middle"><b ><div id="counter<?php echo $counterID; ?>"></div></b >
...


Werd ich gleich ausprobieren.
Member: FreakyF
FreakyF Mar 06, 2009 at 15:24:20 (UTC)
Goto Top
Funktioniert!!! Super.

Ich sag vielen Dank für die nette Unterstützung face-smile