Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Вопрос по jQuery
Новая тема
Ответить
цитата
12/10/16 в 23:55
Lexikon
Начал разбор jQuery и тут возник вопрос, как можно кликом мышки по экрану вывести через alert() имя DOM элемента в котором произведен клик.
Начал копать в сторону this, но что-то я тут не совсем разберусь.
цитата
13/10/16 в 01:03
xjam
погугли eventTarget и все станет понятным
цитата
13/10/16 в 08:15
Lexikon
xjam писал:
погугли eventTarget и все станет понятным
Спасибо! Нашел даже с примером подобный нужному.
цитата
13/10/16 в 09:23
S_Flash
Lexikon:
jQuery обьект элемента не одно и то же, что DOM обьект браузера. Это принципиальное различие.
цитата
13/10/16 в 20:09
Lexikon
S_Flash писал:
Lexikon:
jQuery обьект элемента не одно и то же, что DOM обьект браузера. Это принципиальное различие.
Не совсем понял о чем речь.
цитата
13/10/16 в 21:15
S_Flash
Lexikon писал:
Не совсем понял о чем речь.
$('#elemid') и document.getElementById('elemid') - разные обьекты, хотя может показаться иначе. Из первого можно получить второй.
цитата
14/10/16 в 00:42
johndoe2
Внутри event handler-a this = DOM элемент.
цитата
14/10/16 в 08:54
Ailk
S_Flash писал:
$('#elemid') и document.getElementById('elemid') - разные обьекты
а $('#elemid') и document.querySelector('#elemid') - разные?
Чур не подглядывать в гугол.
цитата
14/10/16 в 11:37
Yacc
цитата
14/10/16 в 18:11
Lexikon
S_Flash писал:
$('#elemid') и document.getElementById('elemid') - разные обьекты, хотя может показаться иначе. Из первого можно получить второй.
Теперь понятней.
Благодарю!
цитата
14/10/16 в 18:38
Lexikon
Вчера занимался написанием коротких кодиков, для практических навыков. Интересная вещь этот jQuery, занимательная
Но вот как я понял одновременно несколько операций jQuery выполнять не может.
Вчера попытался свернуть div и одновременно чтоб в этом диве исчезал текст, но всё происходило последовательно.
JS
Код:
$(function(){
$(".divTextBlock").click(function() {
$("#pTextBlock").hide(2000, function(){
$(".divTextBlock").hide(2000);
});
});
});
HTML
Код:
<div class="divTextBlock"><p id="pTextBlock">only text / only text / only text / only text / only text / only text / only text</p></div>
Можно сделать так, чтоб всё выполнялось не последовательно, а одновременно? А то сначала #pTextBlock скрывается, затем .divTextBlock, а хотелось одновременно.
цитата
14/10/16 в 19:55
dizziness
Lexikon писал:
Можно сделать так, чтоб всё выполнялось не последовательно, а одновременно? А то сначала #pTextBlock скрывается, затем .divTextBlock, а хотелось одновременно.
https://jsfiddle.net/umbrellacoders/yvjnd4qj/
цитата
14/10/16 в 21:00
Ailk
Lexikon писал:
Интересная вещь этот jQuery, занимательная
Тока учти один момент. Как только ты подгрузил жквери, вкладка браузера утяжелилась минимум на 35 мегабайт ;)
цитата
15/10/16 в 00:41
johndoe2
dizziness писал:
https://jsfiddle.net/umbrellacoders/yvjnd4qj/
Такое использование dequeue() может привести к трудно отлавливаемым багам.
В случае, когда в очереди только 2 элемента, все работает как задумано.
Если в очереди больше 3 элементов и dequeue использован 1 раз, тогда вместо "сначала выполнить 2 эффекта вместе, а потом все остальные по очереди" получаем "
все
эффекты выполняются по 2 одновременно". Если dequeue() использовать 2 раза, чтобы запустить три эффекта подряд, получим выполнение
всех
эффектов по 3 одновременно.
Заковыка в том, что коробочные эффекты (slideX, animate etc) внутри вызывают dequeue() для движения по очереди. Поэтому если мы одновременно запускаем на выполнение 2 эффекта посредством ручного вызова dequeue(), когда эти эффекты доработают, они ОБА вызовут dequeue() и тем самым запустят два следующих эффекта и т.д.
Попробуй выполнить цепочку
Код:
animate({...}).animate({...}).dequeue().animate({...}).animate({...})
Эффекты 1-2 и 3-4 запустятся одновременно.
Назначение dequeue() - движение по очереди в кастомных функциях, добавленных в очередь методом queue().
Запускать эффекты одновременно нужно без очередей:
Код:
$selection
.animate({width:"+=100px"},{queue: false})
.animate({height:"+=100px"},{queue: false});
Доступ к флагу queue есть только в этом формате вызова animate(). Все параметры (duration etc) передаются через второй параметр-объект.
цитата
15/10/16 в 01:47
rx
Rem как бы намекает что логика и фичи JS фреймворков слегка twisted, да
цитата
15/10/16 в 05:11
Yacc
Lexikon писал:
Вчера попытался свернуть div и одновременно чтоб в этом диве исчезал текст
Для этого нужен JQuery? В 2016?
цитата
15/10/16 в 07:42
Lexikon
Yacc писал:
Для этого нужен JQuery? В 2016?
В самом первом посте я написал "Начал разбор jQuery..." т.е. научиться сворачивать див с исчезающим текстом это не была основная и конечная цель
, это как один из рабочих моментов в изучении и непонимании jQuery.
цитата
15/10/16 в 10:21
Yacc
Понимать надо стоящую перед тобой задачу. jQuery не надо понимать, это библиотека - набор функций, их нужно просто знать, чтобы никогда не использовать.
Вот:
http://microjs.com
Новая тема
Ответить
Эта страница в полной версии