Vinnaren i pepparkakshustävlingen!
2017-05-30, 13:17
  #1
Medlem
Hej,

jag har lite problem med denna countdown timer, saken är att texten flyttar sig när siffrorna ändras, har lagt upp en kort videosnutt på problemet. Jag vill att positionen ska vara fast, vad behöver jag ändra i koden nedan? Eller är det i CSS:en jag ska ändra?

https://streamable.com/nfqs3

Kod:
// set the date we're counting down to
var target_date = new Date('Dec, 31, 2017').getTime();
 
// variables for time units
var days, hours, minutes, seconds;
 
// get tag element
var countdown = document.getElementById('countdown');
 
// update the tag with id "countdown" every 1 second
setInterval(function () {
 
    // find the amount of "seconds" between now and target
    var current_date = new Date().getTime();
    var seconds_left = (target_date - current_date) / 1000;
 
    // do some time calculations
    days = parseInt(seconds_left / 86400);
    seconds_left = seconds_left % 86400;
     
    hours = parseInt(seconds_left / 3600);
    seconds_left = seconds_left % 3600;
     
    minutes = parseInt(seconds_left / 60);
    seconds = parseInt(seconds_left % 60);
     
    // format countdown string + set tag value
    countdown.innerHTML = '<div class="days"><h2><span>' + days + ' </span>Dagar  <span>  &nbsp;' + hours + ' </span>Timmar  <span>  &nbsp;' + minutes + ' </span>Minuter  <span>  &nbsp;' + seconds + ' </span>Sekunder  </div> ';
 
}, 1000);
Citera
2017-05-30, 13:19
  #2
Medlem
Citat:
Ursprungligen postat av wanh
Eller är det i CSS:en jag ska ändra?

Helt rätt, ändra i CSS:en alternativt ändra till en font som har samma bredd oavsett tecken.

Din fråga hör hemma i (FB) Webbutveckling och javascript - inte i Java.
Citera
2017-05-30, 20:00
  #3
Moderator
vhes avatar
Java --> Webbutveckling och javascript
/Moderator
Citera
2017-05-30, 20:23
  #4
Medlem
studioxswes avatar
Klart den ändrar sig du har ju en font som inte har fast bredd. Du måste göra mer utrymme i din css för fast bredd på tiden.

Annars var den snygg tycker jag.
Citera
2017-05-31, 11:43
  #5
Medlem
Hitta den bredaste siffran i din font. Låt oss säga att det är 7. Då hårdkodar du in 77 och hittar bredden genom typ chrome devtools. Sen tar du den bredden du fick plus 1-2 pixlar för att ta hänsyn till andra webbläsare. Då sätter du en fast bredd på containern för siffrorna.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback