Задать вопрос
  • Как рационально организовать обработку keyboards events?

    lazalu68
    @lazalu68 Автор вопроса
    Ну дааа, оно нечитабельно и некрасиво выглядит, но соль же в том, что при вызове не выполняется ничего лишнего, только нужная функция, единственное лишнее действие это вот это:
    var t
    
    keyAction = function(e) {
      return (t = actions[e.keyCode]) && t(e)
    }


    То есть наверное можно как-то обойтись без того, чтобы обращаться к массиву дважды и без сохранения функции в переменную, но я не знаю как(

    И кстати почему тот кусок "совсем мрак"?) Вроде такой же, как все
  • Как рационально организовать обработку keyboards events?

    lazalu68
    @lazalu68 Автор вопроса
    Красота) Массивная какая штуковина
  • Как рационально организовать обработку keyboards events?

    lazalu68
    @lazalu68 Автор вопроса
    Тогда мне придется объявить еще с дюжину переменных для каждой кнопки, которую я хочу обрабатывать) Это как-то не очень.

    А что насчет технических недочетов?

    Кстати, в вашем варианте я вижу, что при вызове фукнции вы дважды обращаетесь к массиву actions. Это зачем?

    Я говорю об этом:
    $(document).on("keydown", function(event) {
      return actions[event.which] && actions[event.which](event);
    });


    У меня вроде бы одно обращение:
    var t
    
    keyAction = function(e) {
      return (t = actions[e.keyCode]) && t(e)
    }
  • Почему нету offsetBottom и offsetRight?

    lazalu68
    @lazalu68
    Лол, почему "еще раз"? У вас нигде не написано ни про какую вашу собственную функцию fn.scrollHeight и нету у вас комментариев к вопросу. У меня сейчас 15:22 17.12.2015, тостер говорит, что "вопросы был задан 20 часов назад". Вот смотрите как на данный момент выглядит ваш вопрос:

    "Нужно узнать bottom элемента. Решил этой цели добиться по другому. Узнал длину body, длину нужного элемента, offsetTop нужного элемента. Но вот на body не подходит ни scrollHeight, ни clientHeight, ни offsetHeight. Все они измеряют не то, кроме scrollHeight, но при прокрутке это значение меняется. Как узнать bottom у элемента"

    Из этого вопроса я вижу что человеку нужно узнать offsetBottom какого-то элемента, но он решил "этой цели добиться по-другому", хотя из следующего же предложения следует, что алгоритм он будет использовать тот, который ему предложил Александр Миранович. В ответ на это предложение человек говорит, что подобное ему почему-то не подходит.

    А потом вы вообще заявляете о какой-то своей функции. Она, мол, уже была где-то там у вас в комментариях упомянута, но это не так. И что значит эта странная фраза "у меня стоит scroll прокрутка"? Кажется, вы слишком глубоко "в теме")

    Простите, если я вас обидел неумением телепатически узнавать, в чем там у вас проблема, но как-то мы с вами по-разному видели ваш вопрос.
  • Почему нету offsetBottom и offsetRight?

    lazalu68
    @lazalu68
    Эээ, в моем комментарии вы также могли прочитать, что даже если вам не нужен сам jQuery, вы можете заглянуть в его код и узнать, как он узнает высоту элемента, в частности - body.

    Ладно, если вы не хотите сами смотреть, я вам помогу, нажимайте сюда, заходите по первой же ссылке, читайте первый же ответ:

    var body = document.body, html = document.documentElement;
    
    var height = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );


    Например вот так можно узнать высоту документа.
  • Почему нету offsetBottom и offsetRight?

    lazalu68
    @lazalu68
    Вам нужно посчитать расстояние от низа элемента до низа документа, значит вам нужно отнять от высоты документа высоту элемента и расстояние от верха документа до верха элемента (еле написал). Так вроде же Александр ответил вам на вопрос, нет?

    Я может быть покажусь профаном и вообще нехорошим человеком, но есть же jQuery, который на все вопросы сразу выдает ответ. Я имею в виду, что вместо того чтобы играть в Магеллана и бессистемно искать нужные свойства элементов, лучше же использовать готовые решения, разве нет? Ну а если вы горите желанием все таки узнать, какие именно свойства DOM элементов использует jQuery чтобы считать offset - смотрите код jQuery

    Можно добавить в jQuery нужные функции:

    jQuery.fn.extend({
    	'offsetBottom' : function() {
    		var d = $( document ), t = $( this );
    		return d.height() - t.offset().top - t.height()
    	}, 
    	'offsetRight' : function() {
    		var d = $( document ), t = $( this );
    		return d.width() - t.offset().left - t.width()
    	}
    })


    И потом использовать их:

    $( some-element ).offsetBottom().offsetRight()

    Может не очень красиво, зато надежно.
  • Что делать, если экспортированный бэкап mysql не импортируется обратно?

    lazalu68
    @lazalu68 Автор вопроса
    Кхм, получилось.

    По ssh все прошло без проблем. Есть варианты, почему такое происходит ?)
  • С чего начать изучение Linux?

    lazalu68
    @lazalu68
    Не знаю, что вы имеете в виду под зеркалами, но в архиве страница есть
  • Зачем давать идентификатор тегам HEADER или FOOTER?

    lazalu68
    @lazalu68
    Ну не обязательно же элемент footer должен быть только тем футером, который у вас в самом низу страницы. Возможно, в некоторых ситуациях удобно использовать например в каких-нибудь типовых блоках. Я, конечно, не из тех, кто проповедует читабельность, но, согласитесь, это:

    ...
    <section data-purpose="sports">
    	<header>
    		<p>Here is a header for the sports section.</p>
    	</header>
    	<article data-theme="some-theme">
    		...
    	</article>
    	<article data-theme="some-other-theme">
    		...
    	</article>
    	<footer>
    		<p>That's all, folks!</p>
    	</footer>
    </section>
    ...


    выглядит лучше, чем это:

    ...
    <div class="section">
    	<div class="section-header">
    		<p>Here is a header for the sports section.</p>
    	</div>
    	<div class="section-article" id="some-theme">
    		...
    	</div>
    	<div class="section-article" id="some-other-theme">
    		...
    	</div>
    	<div class="section-footer">
    		<p>That's all, folks!</p>
    	</div>
    </div>
    ...
  • Не работает inline block justify выравнивание?

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

    lazalu68
    @lazalu68
    Для начала, у вас очень странный алгоритм - у вас зачем-то динамически обновляется контент, который абсолютно точно не поменяется за время просмотра)

    Я никого не критикую и верю, что такому странному подходу есть объяснение, но все же если бы это был мой сайт, я бы не ajax'ом тянул описание каждого блока, а в этом же шаблоне выводил весь нужный контент. Мне кажется это логичным.

    Старые стили для элементов .team_arrow, .team_description и .round_blocks я бы полностью заместил этими:

    ...
    .team_element .team_arrow {
      display: none;
      position: relative;
      z-index: 2;
      left: calc(50% - 30.5px);
    }
    .team_description {
      background-color: #ffffff;
      border-radius: 10px;
      box-shadow: 0 0 12px -7px #000000;
      width: 100%;
      padding: 20px;
      font-size: 14px;
      color: #333333;
      margin: 0 0 20px;
      z-index: 1;
      position: relative;
      left: -20px;
      display: none;
    }
    .team_element.active .round_block, .round_block:hover {
      border: 5px solid #c8dc3d;
      border-radius: 115px;
      display: block;
      height: 220px;
      overflow: hidden;
      width: 220px;
      cursor: pointer;
    }
    .team_element.active .team_arrow,
    .team_element.active .team_description {
      display: block;
    }
    ...


    А шаблон был бы такой:

    <div class="teams_block">
      <script type="text/javascript">
      $(document).ready(function(){
        var team_elements = $('.team_element');
    
        $('.team_element').on('click', function(){
          team_elements.removeClass('active');
          $( this ).addClass('active');
        });
      });
      </script>
      <?php foreach ($humans as $human){ ?> 
        <div class="team_element" data-id='<?= $human->id ?>'>
          <div class="round_block">
            <img src="/images/<?= $human->image ?>" />
          </div>
          <div class="title"><?= $human->name ?></div>
          <div class="desc"><?= $human->office ?></div>
          <img class="team_arrow" width="61" height="24" src="/img/team_arrow.png" />
          <div class="team_description"><?= $human->description ?></div>  
        </div>
      <?php } ?>
    </div>


    Чтобы такое сработало, в объекты массива $humans надо добавить еще и description. Т.к. я не имею возможности видеть остальные .php, это остается за вами)

    Как видите, в моем варианте шаблона скрипт почти не занимает места, потому что наша маленькая архитектура стала намного более логичной, куча бессмысленных действий из нее выкинуто. Вообще можно было бы js полностью исключить и делать то же самое используя элементы <a> и :focus для них. Но все же существующий вариант более надежен в плане совместимости, хотя бы в отношении планшетиков.

    Я хотел также написать решение на основе старого корявого шаблона, но придумывать рациональную реализацию нерационального алгоритма было настолько грустно, что я бросил, извините.
  • Как сделать вывод div внутри другого div?

    lazalu68
    @lazalu68
    У вас сейчас такой алгоритм в отношении team_description:

    удалить team_description;
    создать новый team_description;


    А вы хотите:

    если (team_description существует), то {
        скрыть team_description;
    } иначе {
        создать новый team_description;
    }


    Я правильно вас понял?
  • Как сделать вывод div внутри другого div?

    lazalu68
    @lazalu68
    Проверено, работает. Задавайте вопросы, если что непонятно.
  • Почему тормозит видео в Google Chrome?

    lazalu68
    @lazalu68
    Ага, этот плагин настолько хитроумный, что на сайтах с флеш играми в разделе support первым делом советуют "if you use Google Chrome, turn off native chrome flash player and install Adobe flash player"
  • Как проверить сайт на битые ссылки?

    lazalu68
    @lazalu68
    А вообще и правда попробуйте гугловые инструменты, в интернетах пишут, что гугл без проблем ходит по js редиректам.

    Обязательно отпишитесь получилось ли)
  • Как проверить сайт на битые ссылки?

    lazalu68
    @lazalu68
    Даже PHP более дружелюбен, чем Oracle ADF)
  • Как правильно сравнить даты?

    lazalu68
    @lazalu68
    Вы ни в какую не сознаетесь, что с чем вам надо сравнивать, и что должно происходить после этого, поэтому решение опять в виде наметки. Вот код, объект json - это отпарсенный ответ, который вы получаете, в него я пихнул новое свойство timestamp:

    json = {
        "date": {
            1: {
                "chef": "Иван Пилипенко",
                "anotation": "Применение сухой и влажной ферментации к локальному фермерскому мясу",
                "dolznost": "'Купеческий двор' ",
                "date": "Wednesday, November 04, 2015",
                "timestamp": 1446625800000,
                "dataRel": "4 ноября в 11:30",
                "url": "",
                "time": "11:30"
            },
            2: {
                "chef": "Владислав Таниславский",
                "anotation": "Рентабельные и гастрономические блюда в ресторане, на примере блюд из тунца",
                "dolznost": "ресторан'Сыто-Пьяно', ",
                "date": "Wednesday, November 04, 2015",
                "timestamp": 1446633000000,
                "dataRel": "4 ноября в 13:30",
                "url": "",
                "time": "13:30"
            }
        }
    }
    
    
    for (index in json.date) {
        object = json.date[index]
        if (object.timestamp > someOtherTimestamp) {
            console.log(object.chef)
        }
    }


    Вы просто сравниваете timestamp текущего объекта с каким-то другим и делаете то, что вам надо.
  • Как добавить в портфолио сайт?

    lazalu68
    @lazalu68 Автор вопроса
    Хотя может тогда так -
    http://anonymouse.org/cgi-bin/anon-www.cgi/http://web.archive.org/web/20151102131239/http://www.тот-самый-сайт.com/
  • Как добавить в портфолио сайт?

    lazalu68
    @lazalu68 Автор вопроса
    Ну мне же хочется, чтоб они поглядели как я круто сделал)

    Ладно, а если фирма просто-напросто сольется и забьет на сайт?
    Тогда ведь в скором времени все аренды просрочатся, и на месте сайта будет совсем не то, что я хотел показать потенциальному клиенту...