06.11.2009, 16:59
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Библиотечка .
Задумал тут как-то прошерстить свои скрипты, задокументировать все и протестировать. Половина того, что щас получилось, а получилось 100 кБ хорошо задокументированного кода, заменяет 80% jQuery при правильном подходе. Затык разве что с анимацией, не могу придумать лаконичный интерфейс.
Сорцы на гитхабе http://github.com/Kolyaj/CrossJS
Если кто-то хочет что-то обсудить/осудить/насрать в каменты -- милости прошу Если кто-то баги найдет -- вообще отлично будет.
|
|
06.11.2009, 18:17
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Что-то Event маловат... add||remove будут?
|
|
06.11.2009, 18:18
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Там нет Event, там EventObject. on/un в Element.js
|
|
06.11.2009, 19:10
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Вот и я тоже с интерфейсом анимации застрял)
typeof.js
Сейчас вот такой typeOf использую в проекте:
/**
* Определяет тип аргумента
* @argument {Mixin} enything Аргумент
* @type String
* @returns Тип аргумента
*/
typeOf: function (enything) {
if (!arguments.length) {
throw "MObj.typeOf: no argument";
}
if (enything === null) {
return "null";
}
if (enything === undefined) {
return "undefined";
}
return Object.prototype.toString.call(enything).slice(8, -1).toLowerCase();
},
Element.js
removeClass: нужно изменять className, если класс был удален.
Не заметил ничего наподобие ElementTraversal.
Последний раз редактировалось Octane, 06.11.2009 в 19:16.
|
|
06.11.2009, 20:01
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Octane
|
Сейчас вот такой typeOf использую в проекте:
|
Я собирался такой сделать, но потом таки пришел к варианту с несколькими функциями на некоторые объекты. Я еще как-то не решил для себя, стоит различать string от String и т.п. или не стоит.
Сообщение от Octane
|
removeClass: нужно изменять className, если класс был удален.
|
Меняется же.
Сообщение от Octane
|
Не заметил ничего наподобие ElementTraversal.
|
А мне, честно говоря, никогда не нужен был.
|
|
06.11.2009, 20:15
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Сообщение от Kolyaj
|
Меняется же.
|
В смысле, если только был удален, чтобы не вызывать лишний раз reflow. Тем более это не сильно усложняет реализацию:
M.removeClass = function(el, cl) {
el = $(el);
var className = el.className, modified = false;
className = className.replace(new RegExp('(^|\\s)' + cl + '(\\s|$)', 'g'), function () {
modified = true;
return ' ';
});
if (modified) {
el.className = className;
}
};
Сообщение от Kolyaj
|
А мне, честно говоря, никогда не нужен был.
|
Как же без nextElementSibling и previousElementSibling, каждый раз циклы писать?
|
|
06.11.2009, 20:19
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Octane,
понятно, спасибо.
|
|
29.11.2009, 16:22
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,577
|
|
Скачал. Буду смотреть и анализировать.
Спасибо за комменты на русском, а то сейчас у многих наших
мода - на инглише все (проблема не глобальная, но время ест).
Последний раз редактировалось micscr, 29.11.2009 в 16:25.
|
|
29.11.2009, 16:38
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Octane
|
Как же без nextElementSibling и previousElementSibling, каждый раз циклы писать?
|
Что-то не видел вопроса. Мне как-то всегда хватало getElementsByTagName, вспоминается единственный случай, когда было недостаточно, но и там был букмарклет для яндекса.
|
|
29.11.2009, 19:25
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
В закладки!
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
|
|