Навигация
 
Сейчас на сайте
Гостей: 6

Гости:
[Ваш IP] 22:11:43
/Форум/Тема
162.247.74.206 22:11:03
/Форум/Форумы
54.36.150.12 22:10:47
/Поиск
185.107.47.215 22:10:10
/Форум/Тема
51.77.52.216 22:09:45
/Регистрация
109.70.100.24 22:09:28
/Регистрация

Всего пользователей: 116
Новый пользователь: Tim
 
RSS потоки
RSS Форумы: тема

RSS Новости
RSS Комментарии
RSS Форумы
RSS Статьи
RSS Фотогалерея
RSS Файлы
RSS Ссылки
 
Нажималка
[хочу себе такую панельку!]



Ваш код:
(кнопка | ссылка)

[Полный список кнопок]
 
Автор: Polarfox
ID темы: 313
Информация
В этой теме сообщений: 1, просмотров темы: 5476.
Просмотр темы
unLogic Lab » Инфоцентр (Info-center) » JavaScript
 Распечатать тему
Вызов действия по ОКОНЧАНИИ изменения размера окна - jQuery
Polarfox
Проблема
В части браузеров (обычно не-Огнелис) во время изменения размера постоянно отправляются события о том что размер окна изменяется.
Решение - отложить обработку события на некоторое время.

Замечу, что можно обрабатывать без тормозов, но это будет больше грузить клиентскую машину и будет не совсем корректно работать в некоторых случаях.

Скрипт
Это по сути, плагин для jQuery потому использовать отдельно его не получится, подгружать после jQ.
Скачать исходный код  GeSHi: Javascript выделить всё
  1. (function($,sr){
  2.  
  3. // debouncing function from John Hann
  4. // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
  5. var debounce = function (func, threshold, execAsap) {
  6. var timeout;
  7.  
  8. return function debounced () {
  9. var obj = this, args = arguments;
  10. function delayed () {
  11. if (!execAsap)
  12. func.apply(obj, args);
  13. timeout = null;
  14. };
  15.  
  16. if (timeout)
  17. clearTimeout(timeout);
  18. else if (execAsap)
  19. func.apply(obj, args);
  20.  
  21. timeout = setTimeout(delayed, threshold || 100);//задержка в 0,1 с, можно подправить под себя по вкусу
  22. };
  23. }
  24. // smartresize
  25. jQuery.fn[sr] = function(fn){ return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
  26.  
  27. })(jQuery,'smartresize');
  28.  
  29.  
  30. // usage:
  31. $(window).smartresize(function(){
  32. // здесь пишем код
  33. });


Источник
http://www.paulir...t-handler/

Вариант без jQ тоже рабочий
http://stackoverflow.com/questions/5489946/jquery-how-to-wait-for-the-end-or-resize-event-and-only-then-perform-an-ac


unLogic creator | For English speaking users
unlogic.info/images/unapproved_dev.png
 
http://unlogic.info
Перейти на форум:
 
Подобные темы
Темы Форум Ответов / Просмотров Последние сообщения
jQuery - masked input - добработка поля для ввода по маске  →  JavaScript 0 / 6373 20.06.2014 14:22:54
Panel - my button + jquery effects  →  Release - International 1 / 6162 10.10.2010 21:57:09