• Почему не работает javascript после ajax получения ответа?

    Добрый день.
    Может это конечно и некропост, но все же я хотел написать по поводу 2го пункта, про событие jQuery.on().
    Везде написано
    $("div").on("click", function(){
    /** что то делается **/
    })

    Но более точное и правильное я нашел в сети, чтобы скрипт отрабатывал именно на подгруженных ajax элементах:
    $('ближайший_родительский_и_статический_элемент').on('событие', 'динамически_подгруженный_елемент', function(){
        // действия, которые надо выполнить
    });
    Ответ написан
    4 комментария
  • Как узнать обработчики событий на элементе?

    @asd111
    Для chrome есть классный плагин Visual Event. Для других браузеров вроде тоже есть аналогичные. Нажимаешь, наводишь стрелочку на нужный элемент и он тебе показывает все обработчики событий на данном элементе.
    Ответ написан
    1 комментарий
  • Гибридные мобильные приложения. За ними будущее?

    @Shannon
    Это не серебряная пуля, но в принципе решает часть задач, иногда можно полностью отказаться от нативной разработки. Хоть тема и не нова, но обсуждать имеет смысл только решения, которые появились относительно недавно (crosswalk, intel xdk, framework7). До этого всё было тормознуто и html5-приложения в итоге заработали дурную славу.

    Краткий ответ: Да, html5 приложение на данный момент уже может заменить нативное в ряде случаев, так как при использовании правильных технологий оно получится достаточно близким к нативному.

    Есть тонкости. Многие думают, что Cordova/PhoneGap это и есть тот самый фрейморк в котором и кроется секрет производительности или тормозов итогового приложения. На самом деле есть 2 разные по сути вещи:
    Cordova/PhoneGap - это фрейворк, который соберет html5 приложение в apk и т.д. По сути это просто конструктор, никак не влияющий на производительность итогового приложения. Он позволяет взять html5 приложение, добавить плагины, для работы с камерой/gps/рекламой, и в итоге получить аналог нативного. Но так сложилось, что почти все публичные примеры из коллекции phonegap тормознутые, и поэтому многие так и думают, что html5 тормознутые.

    Дело в том, что есть фреймворки вроде cordova, а есть html5 фреймворки и это разные вещи, и их нельзя ставить в один ряд. Сама по себе cordova не тормозная и не быстрая, она работает так и только так, как работает html5-приложение (которое запросто можно запустить просто в браузере, и нажав в браузере "добавить на рабочий стол", оно будет работать как автономное приложение). Соотвественно, если html5 фреймворк быстр и отзывчив, то разница с нативным приложением будет незначительна.

    Второй момент. Так как html5 приложение, это лишь html+js, и запускается он внутри webview, то скорость приложения так же зависит от скорости движка webview. Допустим, на ios с этим все хорошо, а вот на андроид с этим хорошо только начиная с 5.х версий. На старых версиях андроида очень тормозной webview.
    Эту проблему с тормозным webview вполне успешно решила Intel представив проект crosswalk. При использовании crosswalk стандартный webview заменяется на последнюю версию chromium, что означает поддержку новым фич, больше плавности, скорости и т.д.
    Само собой, чем свежее crosswalk, тем быстрее и стабильнее работает итоговое html5 приложение.

    Таким образом, решив проблему с производительностью движка html5, всё еще можно наткнулся на проблему тормознутой реализации самого фреймворка html5.
    По сути, проблема в том, что большую часть html5 приложений на phonegap делают на jquery mobile, очень тормознутом фрейморке, но очень распространенном, из-за этого все видят в представленных html5 приложениях очень тормознутых монстров.

    Есть 2 очень быстрых html5 фреймворка (по субъективным тестам, framework7 выигрывает в скорости и плавности), это framework7 и ionic - они решают многие проблемы тормозов, задержек, залипаний присущих стандартному использованию js.
    Соотвественно, например, используя framework7, время отклика нажатий, реакции на свайпы и т.д. будет аналогично тому, что и в нативном приложении. Оба вреймворка содержут набор фич, реакций на типичные для приложений событий, а так же набор всех стандартных и расширенных компонентов, которые потребуются при разработке, и которые подключаются парой строчек в html файле в нужном месте. Они уже имеют встроенные стили, в итоге все компоненты и приложение в целом выглядит как нативное (один в один) ios8 или material design, никакой инородности. При этом их легко настроить через css.

    Чуть подробнее можно посмотреть в статье "Быстрое кроссплатформенное HTML5 приложение на Framework7" - habrahabr.ru/post/257889 или аналогичных (про ionic например) там же
    В итоге, на момент написания статьи, на гаджетах 5 летней давности всё работает примерно на 10-15% хуже чем аналогичное нативное решение. Если сейчас перекомпилировать со свежим crosswalk (в intel xdk, кстати, это делает даже совсем просто, достаточно нажать build и выбрать crosswalk), то разница будет еще менее заметна.

    Так что, сходу отмахиваться от этого направления не обязательно, нужно лишь быть готовым к немного другим проблемам, чем при разработке нативного приложения.
    Ответ написан
    Комментировать
  • Как управлять кодировкой в brackets?

    @toglory
    Да, есть расширение, называется Shizimily Multi-Encoding for Brackets
    Скачать можно здесь ( рекомендовано ) https://github.com/Hiromi-Ayase/brackets-shizimily...
    Открываешь Brackets, Help, Show Extensions Folder. Далее открываешь папку user и туда распаковываешь расширение. Перезапускаешь Brackets и в правом нижнем углу появится меню настройки кодировок. PROFIT .
    Ответ написан
    2 комментария
  • Порекомендуйте сайты с похожим дизайном?

    tilion
    @tilion
    Веб-дизайнер
    Ответ написан
    Комментировать
  • Как получить параметры joomla модуля?

    Посмотри переменную $module
    Она должна быть доступна в mod_mymodulename.php(контроллере)
    У нее есть параметр $module->params, в которой и хранятся все параметры модуля в формате JSON.
    $param=json_decode($module->params)
    Ответ написан
    Комментировать
  • Что интересного есть в вашем стандартном шаблоне?

    @bogomazov_vadim
    Не знаю насколько интересно, но может кому пригодится. Частями найдено на просторах интернета, использую в своем template + normalize.
    Заменяем длинный текст placeholder многоточием:
    input[placeholder]          {text-overflow:ellipsis;}
    input::-moz-placeholder     {text-overflow:ellipsis;} 
    input:-moz-placeholder      {text-overflow:ellipsis;} 
    input:-ms-input-placeholder {text-overflow:ellipsis;}

    Скрываем placeholder при фокусе:
    :focus::-webkit-input-placeholder {color: transparent}
    :focus::-moz-placeholder          {color: transparent}
    :focus:-moz-placeholder           {color: transparent}
    :focus:-ms-input-placeholder      {color: transparent}

    Курсор для label + отмена раздражающего выделения при клике:
    label {
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        -o-user-select: none;
        user-select: none;
    }

    Только вертикальный ресайз для textarea (horizontal часто ломает диз):
    textarea {
    	resize: vertical;
    }

    Убираем дефолтный курсив у address:
    address {
    	font-style: normal;
    }

    Убираем подсветку полей:
    input:focus,
    textarea:focus {
    		outline: none;
    }

    Адаптивные img:
    img {
    	height: auto;
    	max-width: 100%;
    	width: auto\9;
    }

    Адаптивные видео:
    .video {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
    }
    .video iframe,  
    .video object,  
    .video embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    Перенос слов:
    .break-word {
            word-wrap: break-word;
    }

    Обнуляем списки глобально, т.к. часто используется для навигации и проч., в области контента можно задать другие стили.
    ul {
    	list-style: none;
    	margin: 0;
    	padding: 0;
    }

    Нумерованный список с подпунктами:
    ol {
    	counter-reset: list1;
    
    	li:before {
    		counter-increment: list1;
    		content: counter(list1) '. ';
    	}
    
    	ol {
    		counter-reset: list2;
    
    		li:before {
    			counter-increment: list2;
    			content: counter(list1) '.' counter(list2) '. ';
    		}
    
    		ol {
    			counter-reset: list3;
    
    			li:before {
    				counter-increment: list3;
    				content: counter(list1) '.' counter(list2) '.' counter(list3) '. ';
    			}
    		}
    	}
    }


    update дополнительно стили для печати

    P.S. Что-то конечно юзается не всегда, по желанию лишнее удалить, замечаниям и критике буду рад.
    Ответ написан
    5 комментариев
  • Где брать элементы дизайна для веб?

    @dopler_web
    www.flaticon.com

    вдохновляйся, следи
    www.siteinspire.com
    Ответ написан
    Комментировать
  • Какие есть полезные плагины для Brackets?

    SKolt
    @SKolt
    https://www.instagram.com/seregamih/
    Вот, записал на той неделе обзор из 33 видео. Там где то с 10-го начинаю показывать плагины, которые использую, может кому будет полезно. Обзор Brackets
    Ответ написан
    Комментировать
  • Как делается эффект перекрытия фото, как при наведении на аватарку в vk?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    hover и css-transitions
    codepen.io/anon/pen/zGsLe
    Ответ написан
    Комментировать
  • Как сделать плавную прокрутку страницы до якоря?

    Sergeniy
    @Sergeniy
    $(function(){
    
    $('.some_link').on('click', function(e){
    	$('html,body').stop().animate({ scrollTop: $('#some_point').offset().top }, 1000);
    	e.preventDefault();
    });
    
    });
    Ответ написан
    7 комментариев
  • Как сделать адаптивный шрифт bootstrap?

    Добавить эту строчку в head
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    Ответ написан
    1 комментарий