Testweb 3 12/12/15 10:58 Спс, вот только закрываться окно перестало... Копаю hideClose: true, ничего не выходит elem.observe('mouseout', function(e){ if(popup) popup.kill(); }); Тоже не работает... Поделиться сообщением Ссылка на сообщение
Testweb 3 12/12/15 12:02 (изменено) $$('.blclass').each(function(elem){ elem.observe('mouseover', function(e){ Event.stop(e); popup = new ipb.Popup('popup', { type: 'balloon', stem: true, attach: { target: elem, position: 'auto'}, hideAtStart: false, initial: 'hml', hideClose: true, w: '320px;', }); elem.observe('mouseout', function(e){ if(popup) popup.kill(); }); }); Почему модальные окна закрываются только по щелчку? Изменено 12 декабря 2015 пользователем Testweb Поделиться сообщением Ссылка на сообщение
siv1987 2628 12/12/15 16:03 У меня закрывается и при mouse out. Смотрите в консоли ошибок и дебажите переменную popup. Она желательно быть локальной а не глобальной. Поделиться сообщением Ссылка на сообщение
Testweb 3 12/12/15 16:31 Я хз, так$$('.blclass').each(function(elem){ elem.observe('mouseover', function(e){ Event.stop(e); popup = new ipb.Popup('popup', { type: 'balloon', stem: true, attach: { target: elem, position: 'auto'}, hideAtStart: false, initial: 'hml', hideClose: true, w: '320px;', this.observe('mouseout', function(e){ pop.hide(); }); }); }); работает, но не совсем верно. После закрытия, повторно не откроется... Ошибки в консоле отсутствуют Я хз что делать... Поделиться сообщением Ссылка на сообщение
Testweb 3 12/12/15 17:20 Окна по щелчку закрываются, почему? Даже если убрать this.observe('mouseout', function(e){ pop.hide(); }); Поделиться сообщением Ссылка на сообщение
siv1987 2628 12/12/15 17:28 Вы в консоли смотрели? Во первых в этом скрипте есть синтаксические ошибки, возьмите нормальный редактор и приведите код в порядок. Поделиться сообщением Ссылка на сообщение
siv1987 2628 12/12/15 17:51 Я помню что там были какие-то косяки с аттачем евентов к элементам. Просто тупо не хотели повторно срабатывать. С чем это связано так и не разобрался, возился долго, в итоге тоже какие-то костыли приделал.Но в данном случае ошибка как минимум в { target: elem, position: 'auto'} - elem это переменная цикла, вместо нее нужно использовать this.popup - одна переменная для всех элементов. Попробуйте вместо нее массив, или непосредственно указать ее к элементу this.popup = new ipb.Popup Поделиться сообщением Ссылка на сообщение
siv1987 2628 12/12/15 18:20 Вот рабочий пример с делегированием <div id="test"> <a href="#" class="blclass" data-id=1>Test 1</a><br> <a href="#" class="blclass" data-id=2>Test 2</a><br> </div> <script> var popup; $('test').observe('mouseover', function(event) { var row = event.findElement('a.blclass'); if(row){ popup = new ipb.Popup('popup', { type: 'balloon', stem: true, attach: {target: row}, hideAtStart: false, initial: row.innerHTML, w: '320px;' }); } }); $('test').observe('mouseout', function(event) { var row = event.findElement('a.blclass'); if(row){ if(popup){ popup.kill(); popup = false; } } }); </script> Поделиться сообщением Ссылка на сообщение
Testweb 3 12/12/15 18:39 Рабочий ;) Без обертки "<div id="test">", не получится никак? Поделиться сообщением Ссылка на сообщение
siv1987 2628 12/12/15 18:46 Вы можете делегировать на любой общий родительский элемент. В данном случае это пример для наглядности. Костыль конечно, но я так и не разобрался что там с аттачами евентов. Проблема есть именно с типом balloon который прикрепляет модальное окно к элементу. 1 Поделиться сообщением Ссылка на сообщение
Testweb 3 12/12/15 21:21 На счет временного интервала. Гляжу есть такой параметр как "delay: 2000,", в моем случаи он не работает, почему? Поделиться сообщением Ссылка на сообщение
newbie 1723 12/13/15 05:49 Гляжу есть такой параметр как "delay: 2000,",Где?в моем случаи он не работает, почему? Потому что нужно читать внимательно описание. delay: this is an object with keys 'show' and 'hide' delay: { show: 2000, hide: 4000 }, 2 Поделиться сообщением Ссылка на сообщение
newbie 1723 12/13/15 06:36 Не удается подобрать настройки, чтобы мол так же всплывало окно, а не по центру...Тут используются Hovercards.Вообще можно их задействовать. 1 Поделиться сообщением Ссылка на сообщение