Jump to content

abrahadabra

User
  • Posts

    294
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by abrahadabra

  1. Вот вариант с моего текущего проекта. Считайте, готовое решение. Исключительно на клиентской стороне, без какого-либо участия серверной. Вам же так надо? import classNames from 'classnames'import querystring from 'querystring'import { Link } from 'react-router'class PaginationItem extends React.Component{ constructor(props){ super(props); } getLink(index){ let path = this.context.location['pathname'], qs_original = Object.assign({}, this.context.location['query']), qs_new = Object.assign(qs_original, {page: index}), qs = querystring.stringify(qs_new); return `${path}?${qs}`; } render(){ let path = this.context.location['pathname'], qs_original = Object.assign({}, this.context.location['query']), qs_new = Object.assign(qs_original, {page: this.props.index}); return( <li className={classNames( 'page-item', {'active': this.props.active} )}> <Link to={path} query={qs_new}> {this.props.index} </Link> </li> ); }}PaginationItem.contextTypes = { location: React.PropTypes.object.isRequired, history: React.PropTypes.object.isRequired};class Pagination extends React.Component { constructor(props){ super(props); } render(){ if(this.props.numPages > 1) { let items = [], startPageIndex = this.props.currentPage - this.props.pagesAround, endPageIndex = this.props.currentPage + this.props.pagesAround; if(startPageIndex < 1) startPageIndex = 1; if(endPageIndex > this.props.numPages) endPageIndex = this.props.numPages; for(let i=startPageIndex; i<=endPageIndex; i++) { items.push( <PaginationItem key={i} index={i} active={i === this.props.currentPage} /> ); } return ( <ul className="pagination"> {items} </ul> ); } else { return false } }}Pagination.propTypes = { numPages: React.PropTypes.number.isRequired, currentPage: React.PropTypes.number, pagesAround: React.PropTypes.number};Pagination.defaultProps = { currentPage: 1, pagesAround: 2};export default Pagination
  2. читайте: http://php.net/manual/ru/function.setcookie.php
  3. адреса разные? Куки ещё и для разных адресов разные
  4. abrahadabra

    setTimeout

    например так: https://jsfiddle.net/r6z0pzwj/5/ удивительно, но jsfiddle не понимает генераторы
  5. радуйтесь, что у вас нет экстремальных условий.
  6. Кстати, ещё о навигации. Что можно улучшить просто и в текущем дизайне. Представьте себе посетителя, который заходит в рассказы, но не хочет читать первые абзацы, а хочет сразу перейти к чтению рассказа целиком. Этот посетитель жмёт на заголовок, и … и ничего! Ладно, мотаем вниз. Там есть эти самые первые абзацы. Жмём на заголовок там. И опять ничего Ладно, не судьба, уходим. Другой сценарий. Посетитель, несмотря на все старания «этого вэбдизайнера» всё-таки нашёл тщательно запрятанную ссылку «читать рассказ». Нажал. А там многабукафф. Ладно, в закладки, почитаю после работы. А после работы открываем страницу из закладок, и что видим? В зависимости от размера экрана либо предложение принять участие в составлении атласа полевых цветов (простите, что? ), либо траурное требование вознаградить Всей этой беды-печали можно легко избежать, если сделать традиционным образом список со ссылками в ожидаемых местах, на заголовке и на заметной кнопке ниже текста, а сами рассказы на отдельных страницах. угумс! Вы верно описали свою ошибку.
  7. В эмуляторе открывается. Выглядит, конечно … на любителя, но речь не об этом. А вот на настоящем андроиде (android 4.1, android browser и chrome) просто долго-долго висит, браузер показывает загрузку, но белая страница. Не знаю, к сожалению, средств отладки для андроида. Пользуясь случаем, спрошу у экспертов: может знает кто? Аппарат старый, слабенький по современным меркам. Вероятно, просто неподъёмны для него такие объёмы. Цитирую ваш код: <a>Творчество</a>Это не шутка. Так в вашем коде. Это и есть ваша главная ошибка. Не надо делать «этот вэбдизайн». Сделайте, чтобы можно было без помех ознакомиться с вашим творчеством.
  8. Это сам сайт столько грузится. Посмотрите на скриншоте в панели расширений браузера значок синий в форме призрака. Это Ghostery, он как раз режет всякие яндекс.метрики и прочую муть. И обратите внимание на подпись DOM Content Loaded. Метрика ничего не делает с DOM. А теперь вот что будет, если его отключить: https://yadi.sk/i/Vwdd7XQ8mjGHY В этом случае DOM Content Loaded примерно такая же цифра, а финиш постоянно меняется как раз из-за метрики. и это… Ребята, помните, что не все в Москве на хорошем интернете сидят.
  9. а мало? Ок, можно попробовать по каждому из ваших пунктов. Как и у всех аналогичных промо-сайтов. «Красивости» и тормоза сбивают с толку. Несмотрибельно и нечитабельно. Это нормально для случаев, когда надо пустить пыль в глаза или произвести какое-то впечатление, когда производить впечатление на сасос деле нечем. Но в данном конкретном случае вся эта мишура строго в минус. Тоже всё плохо. Пункты верхнего уровня не кликабельны. Остальные пункты бегают как в девяностые Ужасно долго. Летом бы не загрузилось вовсе. Вот вам чуток информации для размышления: https://yadi.sk/i/gYUCfAbRmjDVX Кроме того, что на мобильных сайт не загружается, других косяков не обнаружено. Выкинуть эту дрянь и одно из двух: либо долго учиться (можно за уроками слетать к мастеру в систему Дагоба); либо заказать разработку сайта профессионалу. Лучше убрать их вовсе и дать понять посетителю, куда он попал. Полный редизайн. Положительные моменты здесь скорее всего должны быть в контенте, но до него добраться уж очень сложно. Поэтому оставим на уровне предположений. Ну и зря.
  10. Напомнило кстати, а вот делают же нынче люди специально сайты в стиле девяностых. А ведь наверное лет через 15-20 мы и сами будем делать в порядке ностальгии сайты с квинтэссенцией нынешней моды: чтобы с параллаксом, всё плоско-круглое, туча ненужной анимации, туча пустого места, конские шрифты и много-много ссылок на соцсети (аналог счётчиков из девяностых).
  11. 12 — это по умолчанию, можно задать своё значение. Смотрите здесь: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss#L132 И ещё раз: .row тут ни при чём. Смотрите, из чего оно состоит: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_grid.scss#L28 И сам миксин: https://github.com/twbs/bootstrap/blob/v4-dev/scss/mixins/_grid.scss#L25 Читаем внимательно стили. Там всего-то очистка потока и компенсация отступов по краям. А деление на колонки — это уже сами колонки. И сколько их будет, зависит только от вашего желания.
  12. Изначально же неизвестно, какое положение точно так же и выпадающие элементы приходится скриптами делать, а не стилями
  13. Работает же: https://jsfiddle.net/85mbmrau/5/ Грубо, код некрасивый, но принцип показан. Разницу замечаете?
  14. вам проще сделать снизу плашку выгнутую и наложить её на прямоугольный слайдер.
  15. Ну почему же? Всё делается. Про медиа-запросы например вот: https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries Но раз уж вы используете бутстрап, то вот: http://v4-alpha.getbootstrap.com/layout/overview/#responsive-breakpointsи вот: https://github.com/twbs/bootstrap/blob/v4-dev/scss/mixins/_breakpoints.scss Обратите внимание на миксины media-breakpoint-шотатам. Если их использовать, то получается весьма гибко и удобно. Сами значения граничных точек задаются здесь: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss, начиная со 102 строки.
  16. Это уже речь о шаблонизаторах. В cms и фреймворках страницы собираются из шаблонов. Есть один общий, в котором и сделана форма авторизации. А остальные, контентные, уже наследуются от этого одного общего. В итоге получается на всех страницах такая форма.
  17. медиа-запросы для чего угодно можно делать, в том числе и для кнопок.
  18. насчёт латиницы — это в большей степени дань традиции. Практический смысл тут разве что в том, чтобы не путать символыиз разных алфавитов, схожие по написанию. Если какие-то символы в имени пользователя приводят к краху системы, возникает масса вопросов к такой системе. Как в том анекдоте:
  19. вы задаёте глубоко философские вопросы С одной стороны это и впрямь личное дело пользователя. С другой стороны часто бывает, что пользователь ставит пароль 123, у него аккаунт уводят, и он начинает проедать мозг владельцу сервиса, который не обеспечил безопасность. Вот и как быть?
  20. Можно например так
  21. Если уж на то пошло, то деревенское слово «нету» лучше довести до абсурда: «нетуть»
  22. действительно намудрено. Можно же проще: http://cssdeck.com/labs/efsuperi
×
×
  • 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