user1823706
user1823706

Reputation: 53

jquery setInterval ie9 does not fire

Like the title says. Works on chrome and firefox, just IE9 gives me this issue. It does work when I target frame directly (example.com/#target) I dont think it's a matter of the object not being loaded

    setInterval("myFunc()",1);      

    function myFunc(){   
    if ($(shop).is(":target")) {
        $('#nav').removeClass('nav').addClass('navopen');
        $('#content').removeClass('content').addClass('contenthide');
        $('.bgopen').removeClass('bgopen');
        $('#shpbg').addClass('bgopen'); 
    } else if ($(about).is(":target")) {
        $('#nav').removeClass('nav').addClass('navopen');
        $('#content').removeClass('content').addClass('contenthide');
        $('.bgopen').removeClass('bgopen');
        $('#abtbg').addClass('bgopen'); 
    } else if ($(contact).is(":target")) {
        $('#nav').removeClass('nav').addClass('navopen');
        $('#content').removeClass('content').addClass('contenthide');
        $('.bgopen').removeClass('bgopen');
        $('#cntbg').addClass('bgopen'); 
    } else if ($(blog).is(":target")) {
        $('#nav').removeClass('nav').addClass('navopen');
        $('#content').removeClass('content').addClass('contenthide');
        $('.bgopen').removeClass('bgopen');
        $('#extbg').addClass('bgopen'); 
    } else if ($(collective).is(":target")) {
        $('#nav').removeClass('nav').addClass('navopen');
        $('#content').removeClass('content').addClass('contenthide');
        $('.bgopen').removeClass('bgopen');
        $('#colbg').addClass('bgopen'); 
    } else if ($(main).is(":target")) {
        $('#nav').removeClass('navopen').addClass('nav');
        $('#content').removeClass('contenthide').addClass('content');
        $('.bgopen').removeClass('bgopen'); 
        $('#bgmain').addClass('bgopen');
    } else if ($(pmt).is(":target")) {
        $('#nav').removeClass('nav').addClass('navopen');
        $('#content').removeClass('content').addClass('contenthide');
        $('.bgopen').removeClass('bgopen');
        $('#abtbg').addClass('bgopen'); 
    }

    else {

    }}

I've tried wrapping it in window(load), document(ready) to no avail...

Upvotes: 3

Views: 651

Answers (1)

A. Wolff
A. Wolff

Reputation: 74420

You should really refactoring your code!

The setting of an interval with delay of 1 ms is useless in your case and can only cause bugs as minimum for browser to call an interval callback function is over than this 1 ms.

Change your logic code and try with this instead:

setInterval(myFunc,100);

Upvotes: 1

Related Questions