I don't know anything about the clueTip. Hopefully, someone else can help you with that. Are you sure Ajax is necessary, though? You say you want the application to be snappy (a laudable goal), but it sounds like there is a bit of a speed hit with the database. So, even if you get the Ajax to fire sooner, I'd think that could still make the response slow--especially if your users are very remote.
It would probably feel more responsive if the tip info was preloaded. If it takes too long to get the tip info while the server is building the initial page, perhaps you could fire off an Ajax query for the entire page's tips as soon as the DOM is ready. There will probably be bit of a time while the user is reading the page before they start hovering over stuff. Overall, you can get more data out of a database faster in one chunk rather than separate calls for each date. Unless you really have a lot of dates on the page, it might be faster to just get them all at once. For example, if you had a month calendar, that would only be 31 days of data. Even a year's worth might not be bad if each record is small. Since you're talking about tips, I'm guessing it isn't much. Ajax is best suited for when there is either just too much data to load at once or the data might change during the lifetime of the page. You are right to focus on the user experience. Do what's best for them, not what's cool to program. If you wanted to get fancy, you could have the page load up with the dates slightly grayed and then light them up as the data is loaded. That way the users can start reading the page right away, and they can see that activity is going on in the background. Larry On Jan 2, 4:28 pm, Shawn <[EMAIL PROTECTED]> wrote: > I'm seeing an odd delay before the Cluetip code fires. I'm wondering if > I have cluetip configured badly, or if the problem is elsewhere in my > code (most likely, but need to check...). Here's the Cluetip code: > > $(this).attr("rel", "xhr/dayDetails.cfm").cluetip({ > activation : "click", > positionBy: "mouse", > mouseOutClose: true, > sticky: true, > closePosition: "title", > ajaxSettings : { > type: "GET", > data: "e=" + eid + "&sd=" + dt + "&d=" + dt > }, > onShow : function (ct, c) { > $("#dayDetailTip").children(".taskdetail:even").css("background-color", > "#fff"); > $("#dayDetailTip").children(".taskdetail:odd").css("background-color", > "#ddd"); > $("#dayDetailTip").children(".taskdetail").unbind("click").click(function > () { > var id = this.id.toString().split("-")[1]; > task.edit(id); > $("#cluetip-close").click(); > }); > } > > }); > > What I'm seeing is a 1 or 2 second delay before my Ajax activity > indicator (via .ajaxStart() ) shows up. SO, that would seem to mean > that nothing is happening for that 1 or 2 second period. I would assume > the Ajax via ClueTip would fire almost instantly?? > > I know it's only a second or two, but it makes the application feel > sluggish. The called Ajax page (dayDetails.cfm) already is doing stuff > with the database that incurs a performance penalty. So This delay just > adds to it. (And I'm looking at the SQL side of things to see if I can > speed it up. Not promising though - it's a non-trivial task). > > If it helps, I do have the hoverIntent plugin loaded (as well as a bunch > more). I have tried setting the hoverintent delay to 0 with no effect. > > Thanks for any tips. > > Shawn