Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463

Функция по окончанию действий плагина jQuery

18.11.2014, 15:35. Показов 529. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Года четыре назад хотел научится создавать плагины jQuery по типу .css({...});, а потом как то забил на это все дело...
... в общем сейчас вроде как учусь их делать, но столкнулся с вопросом, как реализовать функцию обработки после завершения действия плагина?
JavaScript
1
2
3
4
5
6
7
8
$("#block").animate({
        width: "70%",
        opacity: 0.4,
        marginLeft: "0.6in",
        fontSize: "3em",
        borderWidth: "10px"
 
      }, 1500[B],function(){}[/B]);
Говоря по русски - ",function(){}" вот это меня интересует. Как это можно организовать?
заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2014, 15:35
Ответы с готовыми решениями:

Вызывать методы плагина jquery извне. Подружить два плагина
Написал свой плагин. Код уже набирается немаленький. А много ещё не реализовано. Планирую разделить на два плагина. Например, на...

Конфликтуют 2 плагина jQuery.noty и jquery.hotkeys-0.7.9
Всем доброго времени суток. jQuery.noty отказывается работать если используется jquery.hotkeys-0.7.9. Помогите исправить. Я предполагаю,...

Написание своего jQuery плагина
Добрый день! Посоветуйте, какие собственные (полезные) плагины можно написать в процессе изучения jQuery ? Интересуют конкретные темы.

6
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
18.11.2014, 15:42
asql, вам нужно запускать свою стандартную функцию, или дать возможность пользователю её указывать?
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 15:50  [ТС]
Цитата Сообщение от Lazy_Den Посмотреть сообщение
или дать возможность пользователю её указывать
То есть, .animate({
width: "70%",
opacity: 0.4,
marginLeft: "0.6in",
fontSize: "3em",
borderWidth: "10px"

},1500, function(){хочу что то делать здесь после того как плагин закончит свои пляски с объектом} );

Добавлено через 49 секунд
только в место .animate будет .myPlugin
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
18.11.2014, 15:55
asql, если вместо метода animate ваш собственный метод, то callback-функцию отрабатывайте в самом плагине. Вот вам простенький пример:
HTML5
1
2
<div id="div1"></div>
<div id="div2"></div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
;(function($){
  $.fn.myplugin = function(opt){
      opt = $.extend({
          foo: function(){
              $(this).css('background-color', '#060');
          },
          speed: 1000
      }, opt);
      var init = function(){
          $(this).animate({
              width: 200,
              height: 200
          }, opt.speed, opt.foo);
          
      };
 
    return this.each(init);
  };
})(jQuery);
 
 
$('#div1').myplugin();
$('#div2').myplugin({
    speed: 1500,
    foo: function(){
        $(this).css('background-color', '#ccc').text('Приехали!');
    }
});
Первый div отработает со всеми параметрами по умолчанию, где callback ("foo") задан в самом плагине. Второй - с кастомными настройками и callback будет уже заданная пользователем функция.
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 16:05  [ТС]
а что бы все же плагин имел такой вид .myPlugin({...},1500, function(){а тут пользовательская функция}); но можно и без нее .myPlugin({...},1500);
У вас функция вызывается внутри скобок {}, то есть foo: function(){} , а нужно за ними и просто function(){} а не с foo:.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
18.11.2014, 16:24
asql, хоть стреляйте, но не могу понять зачем это нужно, но если есть большое желание, то можно так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;(function($){
  $.fn.myplugin = function(opt, speed, func){
      
      var init = function(){
          $(this).animate({
              width: 200,
              height: 200
          }, speed, func);
          
      };
 
    return this.each(init);
  };
})(jQuery);
 
 
$('#div1').myplugin({}, 2000, function(){
    alert('Приехали');
});
1
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 16:48  [ТС]
Цитата Сообщение от Lazy_Den Посмотреть сообщение
$.fn.myplugin = function(opt, speed, func){
все, разобрался... Спасибо что натолкнули на мысль!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2014, 16:48
Помогаю со студенческими работами здесь

Кодировка для плагина JQuery
Здравствуйте, решил попробовать использовать плагин bootstrap-tagsinput. (Плагин для тегов в инпуте) Но к сожалению теги, состоящие из...

Аналог фотобраузера VK в виде jQuery плагина
Привет Всем! Хотел спросить, кто-нибудь сталкивался с такой задачкой. Надо разработать аналог «браузера фотографий» для VKONTAKTE в...

Вопросы по API плагина jQuery Datepicker
Здравствуйте! У меня есть две проблемы с datepicker 1. Установить максимально возможную дату для выбора &lt;script...

ВыпадающаЯ форрма с помощью плагина JQuery.form+АЯКС
Возникла проблема с отправкой формы (если в форме нет файла то всё работет) Если есть файл то отправляет но форма циклиться не выдает...

Добавление jquery-плагина в проект в visual studio. Лишние файлы
Добрый день. Был добавлен плагин jquery в проект. В результате помимо одного .js файла были добавлены несколько .json и файл .gitignore. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru