NaN values in IE8
NaN values in IE8
Hi all,
I'm writing a twitter plugin, so far so good, works perfect in FireFox, Chrome ... but in IE i get NaN value...
Here is a working version :
http://www.darklandz.be/_dev/
If you go to the networks section in FF it displays correctly (latest tweets) : 16 hours ago (Monday 21st December 2009 @ 0:09)
In IE8 it shows: NaN years ago (undefined NaNth undefined NaN @ NaN:NaN)
here is my code :
-
(function($) {
$.fn.darkTweet = function(options) {
var defaultSettings = {
gebruikersNaam: 'davidherregat',
aantalTweets: '2'
};
// gekregen options toevoegen aan de defaults
var settings = $.extend(defaultSettings, options);
// Twitter url
var url = "http://twitter.com/status/user_timeline/"+settings.gebruikersNaam+".json?count="+settings.aantalTweets+"&callback=?";
var holder = this;
// Twitter data uitlezen
$.getJSON(url,function(data) {
$.each(data, function(i, item) {
var MyDagNr = Mid(item.created_at,8,2);
var MyDag = Mid(item.created_at,0,3);
var MyMaand = Mid(item.created_at,4,3);
var MyTijd = Mid(item.created_at,11,5);
var dateTest = datumFormaat(item.created_at);
var date = new Date(item.created_at).toRelativeTime();
holder.append("<p id='darkTweet'><span class='twitDatum'>"+date+" ("+dateTest+")<br/></span><span class='twitTekst'>"+item.text+"</span></p>");
});
});
};
function Mid(str, start, len) {
if (start < 0 || len < 0) return "";
var iEnd, iLen = String(str).length;
if (start + len > iLen)
iEnd = iLen;
else
iEnd = start + len;
return String(str).substring(start,iEnd);
}
function datumFormaat(datum) {
var d = new Date(datum);
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
var d_names = new Array("Sunday", "Monday", "Tuesday","Wednesday", "Thursday", "Friday", "Saturday");
var m_names = new Array("January", "February", "March","April", "May", "June", "July", "August", "September", "October", "November", "December");
var curr_day = d.getDay();
var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var mOutput = "";
var sup = "";
if (curr_date == 1 || curr_date == 21 || curr_date ==31)
{
sup = "st";
}
else if (curr_date == 2 || curr_date == 22)
{
sup = "nd";
}
else if (curr_date == 3 || curr_date == 23)
{
sup = "rd";
}
else
{
sup = "th";
}
curr_min = curr_min + "";
if (curr_min.length == 1)
{
curr_min = "0" + curr_min;
}
mOutput+=d_names[curr_day] + " " + curr_date + "<sup>"+ sup + "</sup> " + m_names[curr_month] + " " + curr_year + " @ "+curr_hour+":"+curr_min;
return mOutput;
}
})(jQuery);
Is there a way to fix that IE nan stuff ? I'm pretty new to Jquery .. i've been struggling with this for 4 hours now heh .... (also don't mind the code comments they are in dutch).
Maybe some guru here can help me out.
Greets,
David