Ну в таком случае мне кажется стоит просто иметь два экземпляра объекта - старый и новый.
function doSomethingAwesomeWith(obj) {
return obj; // обработать obj и вернуть результирующий объект
}
obj = obj; // старый объект
result_obj = doSomethingAwesomeWith(obj); // новый объект
Таким образом в obj у вас лежит ссылка на исходный объект, а в result_obj - на новый.
thehighhomie: кстати, на сайте который вы привели в пример, делается именно так, как сказал этот чувак: при нажатии на кнопку цвета с <body> снимаются все классы и добавляется один нужный.
thehighhomie: Если вам просто надо загружать разные CSS, вы их берете и загружаете. Если хотите их кешировать, то сначала загружаете все нужные CSS в пустой iframe, должно сработать. Если хотите изменять существующие стили, то оперируете со styleSheet. Где-то в тех степях есть возможность поставить флажок типа "не использовать этот styleSheet", если вдруг вы все таки захотите использовать много элементов
А можно как-то с помощью findstr искать строку в этой же самой строке? Чтоб без всяких файлов и точек. Тогда бы получилось.
Ну как бы в том и соль этого кусочка кода, что он маленький и функциональный) Я его прост вставляю куда хочу и радуюсь цветным буковкам помогающим мне ориентироваться в логах. Многофункциональные утилиты это уже чересчур. Но спасибо!
Ну вообще можно конечно, но соль в том, чтоб выводить раскрашенные сообщения из .bat.
Вообще изначально мне это пришло в голову в виду того, что для некоей важной процедуры нужно из .bat вызвать несколько .exe, каждый из которых выводит просто неадекватную тучу текста. Чтобы хоть как-то в этом тексте ориентироваться, было бы приятно иметь несколько ярких цветных анкоров)
Собственно задача решена, цветные названия вызываемых файлов есть, все прекрасно, но мне почему-то вдруг стало интересно, можно ли избавиться от этих точек и двоеточек)
Может быть я чего-то неправильно понимаю, но я почитал инструкцию на сайте displaycal.net (quickstart guide), и, знаете, там написано что надо 1) Launch DisplayCAL, 2) Connect your measurement device to your computer. Ну и список поддерживаемых колориметров там тоже есть)
Так что либо колориметр покупать, либо под wine всю эту фигню юзать, наверное.
Андрей Рысь: не то чтобы я какой-то крутой разработчик сейчас, но ваши слова я вполне мог бы сам сказать около года назад. Вам правильно посоветовали - если у вас нету никакого интереса к предмету, вам остается только ловить крохи знаний, случайно попадающие в ваше поле зрения.
Под интересом я подразумеваю тот внутренний огонь, который разжигает желание действовать и экспериментировать. Например год назад я вряд ли чем-то отличался от вас - у меня было много теории и совсем не было практики. С тех пор я сделал:
1. yaTranslate.js - скрипт, асинхронно переводящий текст страницы через API Яндекса,
2. Лёгкий веб-сервер на node.js,
3. $-плагин, добавляющий крутой адаптивный кроссбраузерный слайдер,
4. Аналог async'а для node.js,
5. Bookmarklet generator,
6. Простую библиотеку для работы с геометрическими объектами,
7. Простой, но очень красивый и вообще приятный script-loader.js, контролирующий загрузку скриптов на странице,
Ну и скорее всего много других вещей, которые наверное можно было бы выделить в отдельные сущности и адаптировать для использования в других средах. Ах да, еще огромное количество плюшек и инструментов, которыми я пользуюсь как в браузере, так и по остальным нуждам: юзерскрипты, букмарклеты, просто полезные функции, инструменты под node.js. Часть из этого - пустышки, имеющие смысл только как учебные пособия, частью я пользуюсь в работе ежедневно.
Если что-то из этого вы считаете достойным, то будьте уверены - это я писал только потому что мне было интересно. Большинство скриптов вообще были написаны только потому что "Иисус, как же мне нравится нода и весь этот ES6" или "меня возбуждает одно упоминание о DOMSubtreeModified".
Нужна практика - практикуйтесь. Как не можете задачи ставить? Вы в своем вопросе поставили задачу - сделать скрипт, который бы... в общем решающий ту проблему, которую вы описали в вопросе.
Андрей Рысь: Чего? Это возможный минимум действий, мне кажется. Этот equal-heights.js производит их намного большее количество, ну и он конечно же надежней.
Ну в таком случае мне кажется стоит просто иметь два экземпляра объекта - старый и новый.
Таким образом в obj у вас лежит ссылка на исходный объект, а в result_obj - на новый.