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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 117 118 119 120 121 122 123 124 125

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

Mavrikii

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

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

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

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



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

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

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

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

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

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

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

Всего записей: 16424 | Зарегистр. 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))

Всего записей: 1995 | Зарегистр. 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 кодом?  
 
и не забыли вставить ту довеску к коду, что я написал?

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



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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

Всего записей: 16424 | Зарегистр. 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.

Понятно.

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

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

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

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

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

будет

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

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

Всего записей: 16424 | Зарегистр. 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)

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

Всего записей: 1995 | Зарегистр. 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 - проверяет, что выборка хоть что то содержит, не пустая

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



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

Всего записей: 1995 | Зарегистр. 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

Всего записей: 16424 | Зарегистр. 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 117 118 119 120 121 122 123 124 125

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru