Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.11.2009, 16:59
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Библиотечка .
Задумал тут как-то прошерстить свои скрипты, задокументировать все и протестировать. Половина того, что щас получилось, а получилось 100 кБ хорошо задокументированного кода, заменяет 80% jQuery при правильном подходе. Затык разве что с анимацией, не могу придумать лаконичный интерфейс.

Сорцы на гитхабе http://github.com/Kolyaj/CrossJS

Если кто-то хочет что-то обсудить/осудить/насрать в каменты -- милости прошу Если кто-то баги найдет -- вообще отлично будет.
Ответить с цитированием
  #2 (permalink)  
Старый 06.11.2009, 18:17
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Что-то Event маловат... add||remove будут?
Ответить с цитированием
  #3 (permalink)  
Старый 06.11.2009, 18:18
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Там нет Event, там EventObject. on/un в Element.js
Ответить с цитированием
  #4 (permalink)  
Старый 06.11.2009, 19:10
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 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.
Ответить с цитированием
  #5 (permalink)  
Старый 06.11.2009, 20:01
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Octane
Сейчас вот такой typeOf использую в проекте:
Я собирался такой сделать, но потом таки пришел к варианту с несколькими функциями на некоторые объекты. Я еще как-то не решил для себя, стоит различать string от String и т.п. или не стоит.

Сообщение от Octane
removeClass: нужно изменять className, если класс был удален.
Меняется же.

Сообщение от Octane
Не заметил ничего наподобие ElementTraversal.
А мне, честно говоря, никогда не нужен был.
Ответить с цитированием
  #6 (permalink)  
Старый 06.11.2009, 20:15
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 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, каждый раз циклы писать?
Ответить с цитированием
  #7 (permalink)  
Старый 06.11.2009, 20:19
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Octane,
понятно, спасибо.
Ответить с цитированием
  #8 (permalink)  
Старый 29.11.2009, 16:22
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Скачал. Буду смотреть и анализировать.

Спасибо за комменты на русском, а то сейчас у многих наших
мода - на инглише все (проблема не глобальная, но время ест).

Последний раз редактировалось micscr, 29.11.2009 в 16:25.
Ответить с цитированием
  #9 (permalink)  
Старый 29.11.2009, 16:38
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Octane
Как же без nextElementSibling и previousElementSibling, каждый раз циклы писать?
Что-то не видел вопроса. Мне как-то всегда хватало getElementsByTagName, вспоминается единственный случай, когда было недостаточно, но и там был букмарклет для яндекса.
Ответить с цитированием
  #10 (permalink)  
Старый 29.11.2009, 19:25
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

В закладки!
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск