0
Ich habe einen Zeitvergleich, der in einer If-Anweisung eine Zeile versteckt oder eingeblendet auf der Basis der Zeit in der Zeile und der Uhrzeit anzeigt und aus irgendeinem Grund immer true zurückgibt.Der Zeitvergleich gibt immer true zurück
Die volle Funktion ist:
$(function togglePast() {
$(document)
.on('click',
'#ctl00_content_hidePast',
function (e) {
e.preventDefault();
var dt = new Date($.now() - 30 * 60000);
var time = dt.getHours() + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes() + ":" + dt.getSeconds();
var state = $("#ctl00_content_hdnPastBookingToggle").val();
$("td.bgtime")
.each(function() {
var bookingTime = ($(this).text().split(':'));
var d = new Date();
d.setHours(+bookingTime[0]);
d.setMinutes(bookingTime[1]);
if ($(d) > time) {
var timeRow = $(this).parent();
$(timeRow).toggle("slow");
};
});
if (state === "0") {
$("#ctl00_content_hdnPastBookingToggle").val("1");
} else if (state === "1") {
$("#ctl00_content_hdnPastBookingToggle").val("0");
};
return false;
});
});
und die spezifische Vergleich, der immer wahr ist:
if ($(d) > time) {
var timeRow = $(this).parent();
$(timeRow).toggle("slow");
};
http://momentjs.com/ kann für Ihr Projekt interessant sein – Weedoze
warum '$ (d)'? Sie müssen es nicht in ein jQuery-Objekt konvertieren. Auch sollte es wie 'if (d> dt)' sein, da Ihre 'Zeit' ein String-Objekt ist. – vijayP
Kann nichts extra in Plugin-Weise, so muss ich mit dem arbeiten, was ich habe –