Jump to content

mishka

Expert
  • Posts

    2,118
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by mishka

  1. Я вот и говрю что для мобил, с помощью медиазапросов, делают более качественные бекграунды и картинки(для картинок джс применяют), которые тяжелее и трафика больше уходит. У меня планшет нексус 10, разрешение 2560 х 1600, обычные картинки смотрятся размыто. Адаптивная верстка не для экономии трафика, а для того чтобы можно было сделать сайт удобным юзерам с маленьким экраном. Но чаще всего на современном смартфоне удобнее юзать десктопную версию сайта.
  2. Я наблюдаю обратную ситуацию -- для айпедов, айфонов с ретина-дисплеем и других мобильных устройств с большим pixel ratio картинки делают в 4 раза больше. А вот скорость интернета через стили не определить.
  3. rash очень точно ответил. Но к сожалению в реальности дизайнер рисует как умеет, клиент наслушавшись новых слов хочет применить это на своем сайте, менеджер проекта обещает все что может лишь бы клиент платил, а верстальщик потом как может так и извращается. Мне на смартфоне намного удобнее просматривать сайт который сделан для десктопа и его минимальная ширина 960 пикселей. Даже на этом форуме для удобства включаю десктопную версию (телефон у меня не большой 4.3") Снова ничего не понял. Тогда откуда вдруг взялось слово "адаптивная", раньше просто клепали мобильные версии сайтов и было нормально, а теперь значит, говорят адаптивная вёрстка, а получается, что всё также, разная вёрстка для мобилы и монитора? Не прикольно как-то, в чём адаптивность тогда? К чему она адаптируется? сейчас делают один сайт и для мобил и для десктопов. Медиазапросы в стилях позволяют управлять отображением элементов в зависимости от ширины окна браузера, от dpi экрана.
  4. могу предложить такие варианты: 1) для картинок лейзи лоад и проинитить его с маленькой задержкой. Тогда фоны загружаться начнут первыми. 2) поставить лоадер. Показать сайт после того как все загрузится.
  5. Насколько помню 8 потоков сейчас у браузеров. Фоны загружаются по-очереди в порядке следования в html. Это можно посмотреть в фаербаге (закладка net) или в хроме в вебинспекторе, непомню как там.
  6. Последняя была 2012го года. 6е издание. Есть и на русском. Бери конечно последнее издание там информация актуальная. У меня бумажный вариант -- 5е издание (покупал). И 6е - pdf. Разница есть.
  7. Если все делать правильно то сайт будет работать если в браузере отключен джс. Тоесть у ссылок сохраняются нормальные урлы, и будет обычный переход по ссылке на другую страничку. Поэтому на сео это не повлияет. Так же браузеры которые не поддерживают history.pushState будут работать как обычно, просто переход по ссылке на другую страничку.
  8. Для CMS есть свои особенности. Поэтому чем быстрее вы начнете общаться с программистом, тем лучше будет ваш код и ему ничего(в идеале) не придется переделывать. Опять таки у каждого порграммиста тоже есть свои особенности. Один не станет переделывать верстку, попытается вывести контент как это видел верстальщик. Другой начнет переделывать верстку под то как это выводит CMS. А CMS тоже не всегда хорошый код выдает, так как плагины к ней писали люди которые в свою очередь тоже все по-своему видели. Поэтому вам надо сработаться с вашим дизайнером и программистом. Не искать по форумам ответ на вопрос "кто прав, кто виноват", а обговорить с программером какая структура ему нужна чтобы он потом не переделывал верстку.
  9. Как по мне так за это надо наказать (если только на хабре не ваша работа). Во-первых обман(), во-вторых и другие начнут пробовать удачу "прокатит/не прокатит".
  10. Кажется мне что это зависит и от человека и от места работы. Если у вас так сложилось что: То вам надо искать причины в себе.
  11. И я как ты. Только я вообще отключаю сглаживание. Со зрением все в порядке, никаких жалоб. За годы всматривания в код да мелочи дизайна не заметил чтобы хуже стало. Но как только включу сглаживание в редакторе, так через пару минут глаза слезятся.
  12. Лучше всего при открытии меню биндить на документ на клик проверку куда кликнули, и если кликнули за пределами меню, то спрятать меню и убрать обработчик клика с документа который отвечает за проверку куда кликнули. типа того: function showMenu() { menu.show(); $(document).on('click', outsideClick);}function hideMenu() { menu.hide(); $(document).off('click', outsideClick);}function outsideClick(e) { var target = $(e.target) if (!target.is(menu) || !$(e.target).closest(menu).length) { hideMenu(); }}
  13. функция stop может принимать 2 аргумента. Почитай про нее.
  14. Вопрос не в том кто кому что должен. А в том кто что умеет. Если не получается самой нарисовать то проси дизайнера дать хотябы то с чем ты сможешь работать. Дизайнер может не знать как оно все будет работать, поэтому он не сделает готовый спрайт. В то же время верстальщик может не знать как будет работать счетчик, поэтому тоже может не сделать правильный спрайт. http://jquery-countdown.googlecode.com/svn/trunk/index.html один из таких счетчиков. Спрайты реализованны по-разному у подобных счетчиков. Дизайнер может нарисовать отдельно циферки, а верстальщику потом можно будет просто в спрайт собрать. Флеш все реже встречается.
  15. ненадо никаких офсетов. Сделай элементу ширину 100% и лефт 0, минимальную ширину. В нем уже центрируй блок. И этот элемент ты будешь смещать отрицательным левым марджином на величину scrollLeft окна браузера. Ненадо таких хитростей. Чем проще тем лучше. В данном случае. А по поводу множественного вызова -- можешь им клас одинаковый задать. И по класу работать сразу с несколькими элементами. Или вечером, если не помогут, то посмотрим более основательно.
  16. Вон Николя223 выше привел решение. Только надо проапдейтить как я ниже посоветовал.
  17. if ($curBxSlider.length) { var bxSliderAPI = $curBxSlider.data('bxSlider'); if (bxSliderAPI) { bxSliderAPI.reloadSlider(); } } else { var bxSlider = $curBxSlider.bxSlider({ pager: false, slideWidth: 545 }); $curBxSlider.data('bxSlider', bxSlider); }я тут недосмотер, и неправильно написал. Надо так: if ($curBxSlider.length) { var bxSliderAPI = $curBxSlider.data('bxSlider'); if (bxSliderAPI) { bxSliderAPI.reloadSlider(); } else { var bxSlider = $curBxSlider.bxSlider({ pager: false, slideWidth: 545 }); $curBxSlider.data('bxSlider', bxSlider); }}
  18. Я так же понял. Но советую избавиться от overflow: hidden и менять маргин-лефт с отрицательным значением у фиксированного блока. Так как вдруг там выпадающее меню будет.
  19. все не читал. Прочел заголовок темы. Что тебе мешает повесить стилями хедер на фиксед. А джсом, при скролении, задавать хедеру отрицательное смещение влево на величину scrollLeft?
  20. Это всегда true если в табе есть блок с класом .bx-wrapper. Только сделано как масло маслянное. Проще выбрать элементы с таким класом: var bxWrapper = $cur.find(".bx-wrapper") и проверить длинну коллекции: bxWrapper.length Если элементов нету, то bxWrapper.length вернет 0, а if (0) не выполнится. можно и так. Только я на 90% уверен что если у тебя будет где-то слайдер, который не будет скрытым, то ты ему дашь такой же класс, и глобально проинитишь так: $('.bxslider').bxSlider({ pager: false, slideWidth: 545 });тоесть еще раз проинитишь слайдер для блоков в лайтбоксе. И если в плагине не предусмотрено чтобы 2 раза не инитить для одного элемента, то могут быть глюки. И снова будут вопросы почему так происходит. $(".tabs").tabs({ active: 0, activate: function(event, ui){ var $cur = ui.newPanel; if ($cur.hasClass("photo")) { var $curBxSlider = $cur.find(".bxslider"); if ($curBxSlider.length) { var bxSliderAPI = $curBxSlider.data('bxSlider'); if (bxSliderAPI) { bxSliderAPI.reloadSlider(); } } else { var bxSlider = $curBxSlider.bxSlider({ pager: false, slideWidth: 545 }); $curBxSlider.data('bxSlider', bxSlider); } } }});в данном случае можно сделать так. При переключении проверять если такой элемент, и есть ли у него апи слайдера. Если есть то рефрешить слайдер, если нет то проинитить его.
  21. if ($cur.is(".photo")) { Лучше проверить на наличие класа: if ($cur.hasClass('photo') $cur.find(".bx-wrapper").is(".bx-wrapper") - разве это не возвращает всегда true? так как $cur.find(".bx-wrapper") входит в набор $(".bx-wrapper") можно сделать так: $('.bxslider').each(function() { var box = $(this); var bxSlider = box.bxSlider({ pager: false, slideWidth: 545 }); box.data('bxSlider', bxSlider);});Ксожалению данный плагин не записывает свой апи в дату. Поэтому можно при его инициализации пройтись циклом, и апи записывать в дату. А потом при смене табов рефрешить слайдер: $(".tabs").tabs({ active: 0, activate: function(event, ui){ var $cur = ui.newPanel; if ($cur.hasClass("photo")) { var bxSliderAPI = $cur.find(".bxslider").data('bxSlider'); if (bxSliderAPI) { bxSliderAPI.reloadSlider(); } } }});
  22. если ты откроешь лайтбокс, подождешь более 2х секунд, а потом перейдешь на таб с фото то получишь 5 фоток маленьких, так что это ты не "выкрутилась" $(".tabs").tabs({ active: 0, activate: function(e) { var activeTab = $(e.currentTarget.hash); activeTab.find('.bxslider').bxSlider({ pager: false }); }});
  23. ты скрываешь модальные окна через display: none и табы там так же. Запускаешь скрипт карусели когда у тебя эти блоки скрыты. Поэтому не получается просчитать их ширину. варианты: 1) скрывать блоки абсолютами 2) скрывать модальные окна обернув их оберткой с ovrflow: hidden; height: 0; Но как ни крути а таб скрыт через дисплей нон. 3) при переключении табов рефрешить галлерею.
  24. Но задаёт то её web мастер. Это фича браузера. Ее разработчик не задает. А вот можно ли стилями заствить принудительно браузер не делать их, это надо поискать.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy