Динамически добавлять функции JavaScript

Я прочитал некоторые другие подобные сообщения, но не могу найти решение моей (простой?) Проблемы.

Я создаю виджет JQuery. Я хочу разрешить пользователю указать, какой тип анимации jQuery должен использоваться для отображения определенных вещей.

В принципе, я хочу изменить функцию, которая должна работать «на лету».

Например:

var animation = this.options.animationType;
$("#myDiv").animation(); 

(Я знаю, что код неверен, я просто хотел показать концепцию)

Затем должен быть выбран выбранный тип анимации

Любые идеи, возможно ли это?

Спасибо, Мишель

0
nl ja de

2 ответы

Посмотрите, хотите ли вы что-то вроде этого:

вы создали функцию jquery:

$.fn.center = function(){
   this.css('top',($(window).height()/2-$(this).height()/2)+'px');
   this.css('left',($(window).width()/2-$(this).width()/2)+'px');
   return this;
};

и назовите его так:

$('myElem').center();

$.fn.center will center the elem which calls it.

0
добавлено

Вы можете сделать что-то подобное, создав собственный плагин jQuery . Если все сделано правильно, пользователь может написать что-то вроде этого:

var options = { animationType: "bounce" };
$("#myDiv").animation(options);

Чтобы легко создавать плагины jQuery, вы можете запустить их с помощью Стартер или jQuery Boilerplate . Не забудьте прочитать документацию о том, как создавать плагины (множество вещей, которые можно найти в Google или на SO).

0
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda