Over a million developers have joined DZone.

Timer Function For JQuery

·
// This is a quick sample of how the plugin jquery.timers.js works. The timer code can
// be downloaded from http://jquery.offput.ca/every/
// or from http://www.downloadjavascripts.com/list/javasitekk37/Details.aspx
//
// I use the timer to avoid race-condition issues when switching from tab to tab in 
// a JQuery UI. Since JavaScript doesn't (as far as I can tell) have a system for 
// managing threads, I needed to introduce a slight delay to stop the code 
// from trying to set focus on a tab before the tab was actually made visible.
// This code works on both IE and Firefox -- and, of course, slightly better 
// on Firefox.
//
// Interesting side note: I used to switch on the field returned by 
// "$tabs.data('selected.tabs');" but in IE the value would often switch
// back to zero before selecting that tab. Another race condition. So I found
// it safer to simply dictate to the switch statement which tab I wanted to select.
//
// Also, there seems to be an issue with the timer plugin -- I could not get it to 
// work without having to specify seconds, miliseconds, etc. It is supposed to default
// to using miliseconds, but it did not seem to recognize integers at all, and needed time
// passed in strings with "ms" attached. It's entirely possible that I overlooked something,
// but I had a deadline looming so I just went with what I could get to work.
//


function selectNextTab(tabName) {
    
    switch(tabName) {
        case ("firstTab"):
            $('#application > ul').tabs('select', 1).oneTime("50ms", function() { 
                $('select#notificationType').focus();
            });
            break;
        
        case ("secondTab"):
            $('#application > ul').tabs('select', 2).oneTime("50ms", function() { 
                $('input#annualIncome').focus(); 
            });
            break;
        
        case ("thirdTab"): 
            $('#application > ul').tabs('select', 3).oneTime("50ms", function() {
                $('select#typeOfAssist').focus();
            });
            break;
    }
}
Topics:

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}