Написание метода подобного .animate()
1. Как бы это не звучало смешно, но я решил написать себе подобие мини фрэймворка на js :lol:
Когда начал писать метод, подобный .animate() в jQuery, то столкнулся с некоторыми трудностями.. А именно с "конструкцией запроса" (не смог найти подходящего слова). В jQuery это выглядит так: $('ид').animate({height: 'show', width: 'show'}, 200); У меня obj.animate(id,speed,px); Сразу видно, насколько мой метод коряв и не динамичен. В нём сразу изменяется и ширина и высота элемента, лишая пользователя выбора.. Подскажите пожалуйста, как сделать конструкцию, примерно такую же как в jQuery? Например, obj('ид').animate({аргумент: 'значение'},speed,px); |
Зачем вам метод animate. Сделать любую конкретную анимацию очень просто, сделать универсальную функцию анимации очень сложно.
|
Цитата:
Да и к тому же мне не нужна универсальная, мне нужно чтоб она выполняла изменение высоты и ширины) Основная проблема состоит в том, как передать {аргумент: 'значение', аргумент2: 'значение2' и т.д.} |
Цитата:
({ bar : function(obj) { for(i in obj) { alert(i + ' : ' + obj[i]); } } }).bar({ color : 'red', height: '14px' }); |
Цитата:
function(obj) { for(i in obj) { alert(i + ' : ' + obj[i]); } } Или можешь дать ссылку, где рассказывается про подобные конструкции? |
Цитата:
Цитата:
function Foo(obj) { for(i in obj) { alert(i + ' : ' + obj[i]); } } Foo({ color : 'red', height: '14px' }); |
monolithed,
О! Спасибо, это то, что нужно)) |
monolithed,
Написал, теперь "запрос" выглядит так: $.animate({width: 'close', height: 'close'}, id,speed,px); Как думаешь, если судить по внешнему виду, то терпимо смотрится?)) |
Цитата:
$('#id').animate({width: 'value', height: 'value'}, speed); также можно сделать второй вариант инициализации (как в jQuery) а вообще, если есть сомнения, посмотрите как эта функция реализована библиотеках |
monolithed,
"а вообще, если есть сомнения, посмотрите как эта функция реализована библиотеках", дело в том, что когда пытаюсь разобраться в чужом коде, то это редко у меня получается( По этому и пишу свои велосипеды) |
Часовой пояс GMT +3, время: 23:01. |