Задать вопрос
  • Как настроить событие на элемент отслеженный getElementsByClassName???

    lazalu68
    @lazalu68
    Это нулевой индекс, то есть мы берем элемент с индексом 0, самый первый элемент в массиве, который возвращает метод getElementsByClassName('asd').

    А вообще парень этим примером хотел показать, что метод addEventListener существует только у элементов dom, и следовательно вызывать его надо для каждого нужного элемента.

    Например, если переписать ваш пример так, чтобы он работал с массивом элементов, то получится как-то так:

    var elements = document.getElementsByClassName("asd"), 
        length_of_elements = elements.length, 
        setContent = function(){
            this.innerHTML = 'lol';
        }, i;
    
    for (i=0;i<length_of_elements;i++) {
        elements[i].addEventListener('click',setContent,false);
    }
  • Как настроить событие на элемент отслеженный getElementsByClassName???

    lazalu68
    @lazalu68
    document.getElementsByClassName('asd')[0].addEventListener('click',function(e){console.log(e.target)},false);

    Так?
  • Слайдер на JS. Странности с transition. Как быть?

    lazalu68
    @lazalu68
    Ну тогда вдобавок еще нажмите кнопку "Отметить решением" )
  • Откуда взялось расстояние между li? Как его убрать?

    lazalu68
    @lazalu68
    Пользуясь этим решением, вы должны быть готовы к тому, что непопулярные браузеры (например, дефолтные для мобильных устройств) будут по-разному обрабатывать такую ошибку, как отсутствие закрывающих тегов. Некоторые удалят открывающий тег, а некоторые могут-таки добавить закрывающий тег, но еще добавят пустую textNode.

    Намного безопасней пользоваться способом №5 из статьи по ссылке. Код получается не такой красивый и лаконичный, зато вы точно знаете, как будет обработан ваш код, ни один браузер не добавит в этом месте никакой отсебятины.
  • Как рационально организовать обработку keyboards events?

    lazalu68
    @lazalu68 Автор вопроса
    В конструктор обернул, потому что не знал, как в одно действие создать объект со свойствами, ссылающимися на свойства этого же объекта (например, я пытался объявить свойства container : $() и items : container.children(), получается ошибка). В итоге получилось вот это

    Ошибки наконец-то исчезли ?)
  • Как рационально организовать обработку keyboards events?

    lazalu68
    @lazalu68 Автор вопроса
    Вот, переделал так, чтобы все было в одном объекте, который собран конструктором. По поводу переменных тоже все исправил.

    Зато код теперь выглядит отвратительно( Можно было как-то это сделать без постоянного упоминания this и base?
  • Как рационально организовать обработку keyboards events?

    lazalu68
    @lazalu68 Автор вопроса
    Ну, можно и в объекте, так и было пару версий назад, но потом я из каких-то слухов решил, что обращение к массиву будет обрабатываться быстрее, чем обращение к объекту. Я не прав?
  • Почему нету offsetBottom и offsetRight?

    lazalu68
    @lazalu68
    Ну во-первых, это не функции. А что значит "не те" все равно не понятно. Ну вы же уже решили свою проблему, так что наверное можете уже не объяснять. Я просто надеялся что вы-таки объясните, но, видимо, зря)
  • Как рационально организовать обработку 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
    Ой, я забыл обернуть символы во что-нибудь, у меня там на самом деле были пробелы