2014-02-07 4 views
0

Я пытаюсь отвязать функцию, которая переключает/переключает между двумя элементами html каждые 2 секунды, и когда мышь над функцией должна останавливаться, чтобы люди могли видеть элемент столько, сколько пожелаете.jQuery unbinding toggle on setinterval function

Позже я добавлю функцию привязки для возобновления переключения на выводе мыши.

$(document).ready(function() { 
    function switchBox() { 
     $('#imagebox7img').toggle('slow', 'linear'); 
     $('#map-canvas').toggle('slow', 'linear'); 
    } 
    // hide image 
    $('#imagebox7img').hide(); 
    // set timer and function 
    setInterval(switchBox, 2000); 
    // disable function on hover 
    $('#imagebox7img').mouseover(function() { 
     $(this).unbind(); 
    }); 
}); // end ready 

ответ

1

setInterval возвращает уникальный интервал ID вы можете перейти к clearInterval отменить повторное действие.

// set timer and function 
    var interval = setInterval(switchBox, 2000); 
    $('#imagebox7img').mouseover(function() { 
     clearInterval(interval) 
    }); 
+0

ах! Большое спасибо, я подходил к нему с неправильного угла! Чтобы снова запустить функцию switchBox, я могу просто установитьInterval (switchBox, 2000) на mouseout. спасибо большое – ESavage

+0

@ESavage, рад, что я мог бы помочь. :) – Satpal

+0

Я не думаю, что вы знаете, почему это не работает с googlemaps? – ESavage