Category Archives: Programming
Yii: работа с множественной загрузкой фото
Для генерации превьюшек разных размеров понадобится http://www.yiiframework.com/extension/image/ (В описании установки есть ошибка: CArray.php нужно скопировать в корень protected/components проекта). Постановка Задача такая: Есть разные объекты разных классов (для примера, квартиры и многоквартирные дома), каждый из них может иметь неограниченное количество фотографий. Все фотографии представляются объектом Photo, а принадлежность к разным типам объектов зависит от атрибута …
Отложенная загрузка скрипта в jQuery
1 2 3 4 5 6 7 8 9 10 11 12 |
function cachedScript (url, options) { // allow user to set any option except for dataType, cache, and url options = $.extend(options || {}, { dataType: "script", cache: true, url: url }); // Use $.ajax() since it is more flexible than $.getScript // Return the jqXHR object so we can chain callbacks return jQuery.ajax(options); } |
(чтобы скрипт кэшировался) http://jqapi.com/#p=jQuery.getScript
Наблюдение за изменениями части DOM-дерева
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// select the target node var target = document.querySelector('#some-id'); // create an observer instance var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { console.log(mutation.type); }); }); // configuration of the observer: var config = { attributes: true, childList: true, characterData: true }; // pass in the target node, as well as the observer options observer.observe(target, config); // later, you can stop observing observer.disconnect(); |
https://developer.mozilla.org/en-US/docs/DOM/MutationObserver
CSS3-animation с AngularJS
http://www.youtube.com/embed/cF_JsA9KsDM Вот подробнее в текстовом варианте — http://www.yearofmoo.com/2013/04/animation-in-angularjs.html
Watch angular attrs and scope
attrs.$observe и $scope.$parent.$watch Подробнее:
Сравнение двух массивов в javascript
1 |
function arrays_equal(a,b) { return !(a<b || b<a); } |
http://stackoverflow.com/questions/3115982/how-to-check-javascript-array-equals
Хостинг openSource-проектов на node
https://www.nodejitsu.com/
ng-options в Angular.js
Который раз натыкаюсь на эти грабли, и который раз забываю. Чтобы заработало ng-options и вообще много чего с селектами, нужно обязательно указать модель для селекта (<select name=»{{name}}» ng-model=»day» class=»…»>), без этого работать не будет, т.к. (отрывок из исходников angular.js):
1 2 |
// if ngModel is not defined, we don't need to do anything if (!ctrls[1]) return; |
HTML5: Геолокация вкратце
http://www.sitepoint.com/using-the-html5-geolocation-api/
Видео о директивах в AngularJS
Сколько уже раз забываю написать про хорошие видео о директивах: Тонкости написания директив от создателя AngularJS (Misko Hevery) http://youtu.be/WqmeI5fZcho Тестирование директив (Vojta Jina) http://youtu.be/rB5b67Cg6bc