Bonjour a toutes et tous,
J'ai voulu créer une sorte de calendrier virtuel en utilisant jQuery (avec scrollLeft pour faire défiler horizontalement) et là pas de problème.
En voulant créer le contenu du calendrier sous forme d'un tableau (liste des jours : 365) et mettre une propriété css width:40px; pour chaque td représentant un jour, le résultat n'est pas conforme : chaque td (donc jour) ne possède pas une largeur de 40px...
Voici mon code :
[/i]
Voila, je ne sais pas pourquoi, mais passé un certaine limite WIDTH pour chaque td cela coince ...
Si quelqu'un sais le pourquoi du comment, ou à une meilleure (plus performante et/ou moins lourde) solution que l'utilisation d'un tableau contenant 365 cellules cela m'intéresse beaucoup.
Merci [/i][/i][/i][/i]
Modifié par LucSW (21 Aug 2010 - 13:33)
J'ai voulu créer une sorte de calendrier virtuel en utilisant jQuery (avec scrollLeft pour faire défiler horizontalement) et là pas de problème.
En voulant créer le contenu du calendrier sous forme d'un tableau (liste des jours : 365) et mettre une propriété css width:40px; pour chaque td représentant un jour, le résultat n'est pas conforme : chaque td (donc jour) ne possède pas une largeur de 40px...
Voici mon code :
var MONTHS = new Array ({"id" : '01', "name" : "Janvier", "nbDays" : 31},
{"id" : '02', "name" : "Février", "nbDays" : 28},
...
{"id" : '12', "name" : "Décembre", "nbDays" : 31});
var DAYS = new Array ('Lun.', 'Mar.', 'Mer.', 'Jeu.', 'Ven.', 'Sam.', 'Dim.');
var FIRST_DAY = 4;
var day_flag = FIRST_DAY;
var table = '<table><tr class="months">';
for(i in MONTHS)
{
table += '<td colspan="'+MONTHS[i].nbDays+'">'+MONTHS[i].name+'</td>';
}
table += '</tr><tr class="days">';
for(i in MONTHS)
{
for (var j=1 ; j < 10 ; j++)
{
table += '<td id="2010-'+MONTHS[i].id+'-0'+j+'"'+((day_flag > 4) ? ' class="WE"' : '')+'>'+j+'<span>'+DAYS[day_flag]+'</span></td>';
day_flag = (day_flag + 1 ) % 7;
}
for (var j=10 ; j <= MONTHS[i].nbDays ; j++)
{
table += '<td width="40px" id="2010-'+MONTHS[i].id+'-'+j+'"'+((day_flag > 4) ? ' class="WE"' : '')+'>'+j+'<span>'+DAYS[day_flag]+'</span></td>';
day_flag = (day_flag + 1 ) % 7;
}
}
table += '</tr></table>';
$('#calendar').append(table);
[/i]
Voila, je ne sais pas pourquoi, mais passé un certaine limite WIDTH pour chaque td cela coince ...
Si quelqu'un sais le pourquoi du comment, ou à une meilleure (plus performante et/ou moins lourde) solution que l'utilisation d'un tableau contenant 365 cellules cela m'intéresse beaucoup.
Merci [/i][/i][/i][/i]
Modifié par LucSW (21 Aug 2010 - 13:33)