Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работае clearInterval (https://javascript.ru/forum/misc/31825-ne-rabotae-clearinterval.html)

flipper1001 22.09.2012 11:21

Не работае clearInterval
 
Вот кусок кода.

var intervalLeft;
var intervalRight;

$(function() {

    $(".iconaria ").sortable({
        connectWith: ".iconaria",
		scroll: false,
		sort: function(event, ui) { 
										
						listItem = $('.ls-nav-active');
						ind = $('.ls-bottom-slidebuttons a').index(listItem);
						var browserWindow = $(window);
						var width = browserWindow.width();

						if (event.pageX < (width*(ind))+30) {
						intervalLeft = setInterval(function(){ shft(ind-1) },2000);
						} else { clearInterval(intervalLeft); }
																
						if (event.pageX > (width*ind)+width-30) {
						intervalRight = setInterval(function(){ shft(ind+2) },2000);
						} else {clearInterval(intervalRight); }
																
						},
		stop: function(event, ui) { mDownmMow();  clearInterval(intervalLeft); clearInterval(intervalRight);
                 }
    });

    $(".iconaria").disableSelection();
});

flipper1001 22.09.2012 12:16

У меня все вроде так и написано

dmitriymar 22.09.2012 12:23

Цитата:

Сообщение от flipper1001
У меня все вроде так и написано

не так.
Цитата:

Сообщение от flipper1001
if (event.pageX < (width*(ind))+30) {
intervalLeft = setInterval(function(){ shft(ind-1) },2000);

intervalLeft ,как и остальные, у вас идентификатор всякий раз нового setInterval ,при том что старый вы не отменили+ ещё в очереди выполнения могут стоять. итого -у вам могут быть десятки одновременно работающих. используйте либо setTimeOut-не факт что вашем коде их в очереди не накопиться, либо пересмотрите свой код

flipper1001 22.09.2012 16:07

всем спасибо


Часовой пояс GMT +3, время: 18:03.