Jump to content

[Free][Skrypt] Odliczanie do końca wysyłki (Zamów w ciągu X godzin, sekund, minut a wyślemy jeszcze dziś)


Recommended Posts

Krótki skrypt, który został przerobiony na własne potrzeby, mam nadzieje, że się przyda. Skrypt ma na celu odliczanie do końca wysyłki. Powiedzmy, że na sklepie mamy, że gdy ktoś złoży zamówienie do 14:00 to na pewno zostanie wysłany towar tego samego dnia. Skrypt odlicza czas do 14:00 (różnica danego dnia do 14:00).

Skrypt możemy dać gdziekolwiek. Można w całości lub zgodnie z punktami odniesień jak custom.css itp.

HTML

<div id='pozostaloW'>
  <p><span id="countdownTimer"> </span></p>
</div>

CSS

  #pozostaloW {
    border: 4px solid #045042;
    width: 100%;
    background: #f4f5f7;
    padding: 25px 20px 13px;
    border-radius: 5px;
  }

Skrypt

if (document.getElementById('countdownTimer')) {
    pad = function(n, len) {
        var s = n.toString();
        return (new Array( (len - s.length + 1) ).join('0')) + s;
    };
 
    var timerRunning = setInterval(countDown, 1000);
 
  function countDown() {
 
    var target = 14; // tu ustawiamy do której godziny max (że zamówienia do 14:00 wyślemy tego samego dnia) 
    var now = new Date();
    var weekday = now.getDay();
 
    if(weekday == 0){
      target += 24;
    }
 
    if(weekday == 6){
      target += 48;
    }
 
    if((weekday>=1) && (weekday<=5)){
      if (now.getHours() > target) { // zatrzymanie czasu
        $('#pozostaloW').hide(); // gdy czas = 0 to ukryj blok
        clearInterval(timerRunning)
      }                
    }
 
    var hrs = (target - 1) - now.getHours();
    if (hrs < 0) hrs = 0;
    var mins = 59 - now.getMinutes();
    if (mins < 0) mins = 0;
    var secs = 59 - now.getSeconds();
    if (secs < 0) secs = 0;
 
    var str = '<span style="font-weight:bold;color:red">' + pad(hrs, 2) + ' </span>godzin<span style="font-weight:bold;color:red"> ' + pad(mins, 2) + ' </span>minut<span style="font-weight:bold;color:red"> ' + pad(secs, 2) + ' </span>sekund';
 
    if( hrs === 0 && mins === 0 && secs === 0) {
      $('#pozostaloW').hide();
      clearInterval(timerRunning) // gdy czas = 0 to ukryj blok
    }
            
    document.getElementById('countdownTimer').innerHTML = 'Zamów w ciągu ' + str + ', a wyślemy jeszcze dziś!'; 
 
  }
}

Z reguły takie moduły są mega płatne. Tu macie darmowe rozwiązanie

  • Like 2
Link to comment
Share on other sites

  • 5 months later...

Siedzę i siedzę nad tym ale nie mogę wdrożyć u siebie.
Chciałem umieścić w/w skrypt na karcie produkty pod blokiem product_additional_info ale nie działa.

Utworzyłem nowy blok aby zaciągnął plik tpl ze skryptem i też nic.

Przyznam, że nie jestem zaawansowanym programistom ale co nie co potrafię zrobić. Mimo wszystko chyba coś źle robię.

Czy w związku z tym mogę prosić o poradę jak to wdrożyć u siebie ??

Dzięki bardzo.

Link to comment
Share on other sites

  • 11 months later...
  • 2 weeks later...
On 3/30/2023 at 5:30 PM, mlody222 said:

Witam.
 czy komuś udało się usadowić ten skrypt? gdziekolwiek go wpiszę to albo nic się nie dzieje albo skrypt pojawia się jako tekst

pozdrawiam

Cześć. Instalacja skryptu jest bardzo prosta. Działa bez zarzutu.

Link to comment
Share on other sites

  • 7 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...