I currently have this on my companies website and it's having a bit of trouble sometimes where it will only work after a refresh. Is it possible to do a refresh of this div and script as soon as the site loads, instead of using the auto refresh. I tried using auto refresh and it works but whatever time interval I put for the auto refresh is the time that the script pops up, so it kind of just makes it worst.
It sounds like the actual issue is somewhere else and the solution is not to do a refresh when the site has loaded but to find the issue that is causing it not to load initially. Got a link to your site for us?
(function($) {
/*
jquery.twitter.js v1.5
Last updated: 08 July 2009
Created by Damien du Toit
http://coda.co.za/blog/2008/10/26/jquery-plugin-for-twitter
Licensed under a Creative Commons Attribution-Non-Commercial 3.0 Unported License
http://creativecommons.org/licenses/by-nc/3.0/
*/
$.fn.getTwitter = function(options) {
$.fn.getTwitter.defaults = {
userName: null,
numTweets: 4,
loaderText: "Loading News",
slideIn: true,
slideDuration: 750,
showHeading: false,
headingText: "Latest Tweets",
showProfileLink: false,
showTimestamp: true,
twitterListHTML: false
};
var o = $.extend({}, $.fn.getTwitter.defaults, options);
return this.each(function() {
var c = $(this);
// hide container element, remove alternative content, and add class
c.hide().empty().addClass("twitted");
// add heading to container element
if (o.showHeading) {
c.append("<h2>"+o.headingText+"</h2>");
}
// add twitter list to container element
var twitterListHTML = "<ul id=\"twitter_update_list\"><li></li></ul>";
c.append(twitterListHTML);
var tl = $("#twitter_update_list");
// hide twitter list
tl.hide();
// add preLoader to container element
var preLoaderHTML = $("<p class=\"preLoader\">"+o.loaderText+"</p>");
c.append(preLoaderHTML);
// add Twitter profile link to container element
if (o.showProfileLink) {
var profileLinkHTML = "<p class=\"profileLink\"><a href=\"http://twitter.com/"+o.userName+"\">http://twitter.com/"+o.userName+"</a></p>";
c.append(profileLinkHTML);
}
// show container element
c.show();
$.getScript("http://twitter.com/javascripts/blogger.js");
$.getScript("http://twitter.com/statuses/user_timeline/"+o.userName+".json?callback=twitterCallback2&count="+o.numTweets, function() {
// remove preLoader from container element
$(preLoaderHTML).remove();
// remove timestamp and move to title of list item
if (!o.showTimestamp) {
tl.find("li").each(function() {
var timestampHTML = $(this).children("a");
var timestamp = timestampHTML.html();
timestampHTML.remove();
$(this).attr("title", timestamp);
});
}
// show twitter list
if (o.slideIn) {
// a fix for the jQuery slide effect
// Hat-tip: http://blog.pengoworks.com/index.cfm/2009/4/21/Fixing-jQuerys-slideDown-effect-ie-Jumpy-Animation
var tlHeight = tl.data("originalHeight");
// get the original height
if (!tlHeight) {
tlHeight = tl.show().height();
tl.data("originalHeight", tlHeight);
tl.hide().css({height: 0});
}
tl.show().animate({height: tlHeight}, o.slideDuration);
}
else {
tl.show();
}
// add unique class to first list item
tl.find("li:first").addClass("firstTweet");
// add unique class to last list item
tl.find("li:last").addClass("lastTweet");
});
});
};
})(jQuery);
tried that, the problem with using that is that it goes through the 10000 cycle before it loads the first time. Wanted to see if it's possible just to refresh once, once the site loads.
tried that, the problem with using that is that it goes through the 10000 cycle before it loads the first time. Wanted to see if it's possible just to refresh once, once the site loads.
Oh. your originally posted code does that. If ti's not loading correctly then you very well may have another issue altogether