Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
Сюда?  

а сами как думаете? ну уж такие то вопросы нет смысла спрашивать )

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 23:22 03-11-2016
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
а сами как думаете?

Как думал, так и написал. Ну не силен я в скриптах, как я только не пробовал...

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 23:51 03-11-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
Как думал, так и написал.  

ну, и работает ?) интереснее, обычно, попробовать и посмотреть. и спрашивать только если не работает, может что не так понял.

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 03:07 04-11-2016
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Не работает, пробовал по разному:
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass('deb'))
 
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass(deb))
 
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass == 'deb')
 
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass == ('deb'))
 
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass == (deb))

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 13:40 04-11-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass(deb))  
 
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass == 'deb')  
 
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass == ('deb'))  
 
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass == (deb))  

это уже фантазии не имеющие ничего к ситуации.
 

Цитата:
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && document.activeElement.parentHasClass('deb'))  

с каким html кодом?  
 
и не забыли вставить ту довеску к коду, что я написал?

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 20:37 04-11-2016 | Исправлено: Mavrikii, 20:42 04-11-2016
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
и не забыли вставить ту довеску к коду, что я написал?

довеску к коду "забыл", я думал это для примера.. с ней все работает.
а без довески, никак нельзя?

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 21:33 04-11-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
а без довески, никак нельзя

можно, переписав ее в другом виде. но нет смысла, так удобнее и она универсальнее.

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 21:49 04-11-2016 | Исправлено: Mavrikii, 21:49 04-11-2016
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
можно, переписав ее в другом виде. но нет смысла, так удобнее.

Понятно, спасибо. С jquery как мне кажется проще ('.deb iframe')
А эта довеска не повлияет на работу других скриптов?
 
Добавлено:
Я так и не понял что эта довеска делает?

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 21:52 04-11-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
С jquery как мне кажется проще ('.deb iframe')  
А эта довеска не повлияет на работу других скриптов?

то есть вас смущает короткий "лишний" код, но не против прицепить тяжелый довесок в виде jquery ?) я написал на чистом javascript, так как в вашем коде именно он, а значит не используются дополнительные фреймворки. но цеплять jquery только ради вот этого - бессмысленная трата ресурсов.
 

Цитата:
Я так и не понял что эта довеска делает?  

реализует то, чего нет в чистом js. а именно аналоги функций hasClass и parents в jquery.

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 21:54 04-11-2016 | Исправлено: Mavrikii, 21:55 04-11-2016
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
то есть вас смущает короткий "лишний" код, но не против прицепить тяжелый довесок в виде jquery

довесок в виде jquery и так установлен для других скриптов.

Цитата:
я написал на чистом javascript, так как в вашем коде именно он

Этот скрипт нашел в сети, был бы он jquery, меня бы устроил, а так я не в курсе как его изменить, выше я писал что в скриптах не силен.

Цитата:
реализует то, чего нет в чистом js. а именно аналоги функций hasClass и parents в jquery.

Понятно.

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 22:03 04-11-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
довесок в виде jquery и так установлен для других скриптов.  

ну хорошо, делайте тогда через jquery.
аналогом

Цитата:
document.activeElement.parentHasClass('deb')

будет

Код:
$(document.activeElement).parents('.deb').length > 0

ну или как то иначе, если выборку элемента уже делаете с учетом класса родителя.

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 22:05 04-11-2016
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Сюда?
 
 if(document.activeElement && document.activeElement.tagName == 'IFRAME' && $(document.activeElement).parents('.deb').length > 0)
 
Что не правильно здесь?
if ($(.deb document.activeElement).find('iframe').length==1)
 
Добавлено:
Вернее
 if ($('.deb iframe'))
как сюда document.activeElement прицепить
 
Добавлено:
или сюда как добавить  iframe
 if ($(document.activeElement).parents('.deb').length > 0)

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 22:25 04-11-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
или сюда как добавить  iframe  

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

Код:
$('.deb iframe').focus(function(){
 $('#mess').html('Clicked');  
});

и все, вместо всего этого кода.

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 00:02 05-11-2016
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
ловите когда iframe получит фокус?  

Ловлю клик по фрейму.

Код:
$('.deb iframe').focus(function(){  
  $('#mess').html('Clicked');  
 });

не работает..  
 

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 01:05 05-11-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
Ловлю клик по фрейму.  

чужой iframe?  тогда только вашим первоначальным способом, jQuery тут не поможет.
поможет только для функций hasClass и поиска родителей.

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 02:35 05-11-2016
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
iframe чужой.

Цитата:
поможет только для функций hasClass и поиска родителей.

а как найти родителей способом jQuery?

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 02:50 05-11-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
а как найти родителей способом jQuery?

ну я же писал ранее

Цитата:
$(document.activeElement).parents('.deb').length > 0

указываете это вместо того, что использует .parentHasClass

Цитата:
if(document.activeElement && document.activeElement.tagName == 'IFRAME' && $(document.activeElement).parents('.deb').length > 0)  

 
$(document.activeElement) - преобразует DOM элемент в объект jquery
parents('.deb') - ищет родителей с классом deb
length > 0 - проверяет, что выборка хоть что то содержит, не пустая

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 02:51 05-11-2016 | Исправлено: Mavrikii, 02:54 05-11-2016
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо за помощь и разъяснения и способы на чистом javascript и jquery. Все работает как надо.
Мне способ jquery больше нравится, тем более что она подключена.

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 03:07 05-11-2016
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте,
есть такой код:
 

Код:
var tis = {
    dt: document.getElementById('tis'),
    _open: function(t) {
        this.dt.innerHTML = '<div id="tisc">'
        + '<i onclick="return tis._exit();" class="fa exit"></i>'
        + t
        + '</div>';
        dt.className = '';
        return false;
    },
    _exit: function() {
        this.dt.className = 'hidden';
        return false;
    }
}

 
Код подкачивается в <head></head>, и выдает ошибку  

Код:
Uncaught TypeError: Cannot set property 'innerHTML' of null(…)

 
По идее, он пытается найти блок id=tis но, он ещё не загрузился....
Как можно сделать так, чтоб инициализировать в dt 1 раз document.getElementById('tis') только тогда, когда будет вызвана функция tis. В придачу, чтоб переменную dt можно было использовать в любом уголке tis и любое количество раз.

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 17:48 02-12-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
По идее, он пытается найти блок id=tis но, он ещё не загрузился

инициализируйте после загрузки блока (в нижней части страницы, к примеру), или ловите события DOM (или по старинке, через body onload=..., но это сработает только после загрузки всего, картинок в том числе). можно и просто сделать зацикливание через setTimeout до тех пор, пока элемент не появится.
 

Цитата:
В придачу, чтоб переменную dt можно было использовать в любом уголке tis и любое количество раз.

это не переменная, атрибут объекта tis. ее и так можно использовать внутри сколько угодно раз, научитесь лишь нормально к ней обращаться - this.dt, ну или если tis единственный (то есть данный случай), то tis.dt

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 21:33 02-12-2016 | Исправлено: Mavrikii, 22:04 02-12-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru