J'utilise ce code jQuery pour afficher la gauche à gauche jusqu'à 10h localement.Jquery Minuterie quotidienne
Entre 10h00 et 14h00, il supprime certaines images.
Ensuite, après 14h00, il devrait afficher l'heure jusqu'à 10 heures. Il ajoute également un décalage à compte pour les week-ends.
Il fonctionne avec brio la plupart du temps, mais il semble après 14h00, il va bien au fil du temps ...
Quelqu'un peut-il voir pourquoi cela échoue, je l'ai regardé pour longtemps à ... maintenant je suis juste confus! S'il vous plaît aider!
$(document).ready(function() {
// 24 hour based
var targetTime = 1000;
var targetHour = 10;
var openingTime = 1400;
var openingHour = 14;
var currentTime = new Date();
// sun 0 mon 1 ... fri 5 sat 6
var currentDay = currentTime.getDay();
var offset = 24;
// friday
if (currentDay === 5) {
offset = 60;
} // saturday
else if (currentDay === 6) {
offset = 48;
}
var the_current_time = ''+ currentTime.getHours() + '' + currentTime.getMinutes() + '';
if(the_current_time > targetTime && the_current_time < openingTime) {
var time_hours = (openingHour + offset) - currentTime.getHours() - 1;
var time_min = 60 - currentTime.getMinutes();
var time_seconds = 60 - currentTime.getSeconds();
$('#hours_left').append(time_hours, ':',time_min < 10 ? "0" : "" , time_min , ':' , time_seconds < 10 ? "0" : "" , time_seconds);
$('#watch_image').attr('src','http://cdn.shopify.com/s/files/1/0085/1702/t/1/assets/closed-until-icon.png');
$('#time-left-banner').css('width','275px');
$('.add-to-button').css('display','none');
$('#purchase').css('display','none');
}
else if(the_current_time > targetTime && the_current_time > openingTime) {
var time_hours = (targetHour + offset) - currentTime.getHours() - 1;
var time_min = 60 - currentTime.getMinutes();
var time_seconds = 60 - currentTime.getSeconds();
$('#hours_left').append(time_hours, ':',time_min < 10 ? "0" : "" , time_min , ':' , time_seconds < 10 ? "0" : "" , time_seconds);
}
else {
var time_hours = (targetHour + offset) - currentTime.getHours() - 1;
var time_min = 60 - currentTime.getMinutes();
var time_seconds = 60 - currentTime.getSeconds();
$('#hours_left').append(time_hours, ':',time_min < 10 ? "0" : "" , time_min , ':' , time_seconds < 10 ? "0" : "" , time_seconds);
}
});
Merci beaucoup pour votre réponse vhallac, je n'ai pas besoin de cela pour calculer le temps jusqu'à ce qu'il rouvre? –
Vous pouvez ignorer mes commentaires sur le refactoring en toute sécurité. Je l'ai mentionné, parce que vous pouvez réduire la fonction d'environ 10-15 lignes, et moins de lignes de code cache moins de bugs. Vous avez seulement besoin de mettre à zéro les minutes dans 'the_current_time' (ou le calculer comme' hours * 100 + minutes'). – vhallac
Merci beaucoup pour cela je l'ai eu le travail! –