Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Модальное окно на чистом js (https://javascript.ru/forum/project/39359-modalnoe-okno-na-chistom-js.html)

cyber 26.06.2013 15:41

Модальное окно на javascript
 
Версия 2.0
https://github.com/cyberua/multiPopupJS

vadim5june 10.07.2013 00:15

А почему когда кликаем не на окне-окно исчезает?
само название модальное говорит о том что пока по нему не кликнем оно не исчезнет-остальной контент-пассивный

danik.js 10.07.2013 08:09

Закинь в песочницу несжатый скрипт.

cyber 10.07.2013 10:26

vadim5june, для этого я и добавил события
on(event, handler) // установка обработчика событий (обработка 2х событий 'open' and 'close' )
 //функция handler должна возвращать true || false, если true событие будет обработано , иначе нет.


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

var closed = false;

modal.on('close', function (){

return closed;// пока возвращает false окно не закроется

});

danik.js, готово.

cyber 24.01.2014 19:30

up [изменил первый пост]

danik.js 24.01.2014 19:48

Не пробовал центрировать по горизонтали через css:?
margin: auto;
left: 0;
right: 0;

Ну и Show/Close - где ты видел в JS имена методов с большой буквы? Это дикость. Плюс мне кажется имена должны быть show/hide либо open/close - посмотри в фреймворках / модальных скриптах разных какие в них имена используются.

animhotep 24.01.2014 19:52

а пашиму там js код в отделе css?

cyber 24.01.2014 19:54

animhotep, на jsfiddle ?

cyber 24.01.2014 19:54

Цитата:

Сообщение от danik.js
Не пробовал центрировать по горизонтали через css:?

анимация с лева не будет работать
Насчет имен, спс, подправлю

animhotep 24.01.2014 20:01

Цитата:

Сообщение от cyber
animhotep, на jsfiddle ?

аха

cyber 24.01.2014 20:04

Цитата:

Сообщение от animhotep
аха

буквы путаешь?)
Это хак такой, что бы код не мешал в поле для js.
http://jsfiddle.net/CyBer_UA/NV4zR/

cyber 26.01.2014 01:24

обновил https://github.com/cyberua/modalJS

animhotep 27.01.2014 12:38

Цитата:

Сообщение от cyber
буквы путаешь?)
Это хак такой, что бы код не мешал в поле для js.

неа, нипутаю)
там же External Resources есть для скриптов.
а вобще не понимаю почему фиддл так популярен. кодпен удобней например. или этот, если разработчица когданидь js допилит))

cyber 27.01.2014 13:28

animhotep, мне удобней так.
На вкус и цвет ... мне он нравиться больше.

cyber 07.01.2015 12:47

https://github.com/cyberua/modalJS обновил до 1.0

Safort 12.01.2015 01:40

cyber,
скорее всего нет. На это две причины:
1. подобные скрипты довольно просты и повторяют уже многие существующие решения;
2. Особенность аудитории форума. Даже если у тебя крутой/сложный/большой проект(см. тему SS), то это совсем не значит, что посвящённые ему темы будут ломиться от сообщений(по крайней мере сразу после создания).

cyber 12.01.2015 01:54

Safort, да меня штырит (25 часов в дороге..) не много не обращяй внимание:)
Я эту штуку пилю под себя, поэтому как то пофиг юзает ее кто кроме меня:)

danik.js 12.01.2015 06:47

addClass/removeClass у тебя неправильные.
var classes = elem.className.split(" ");

Пробелов может быть несколько идущих подряд. Тогда делать trim().
Вот только зачем, если на регулярках быстрее?

В code style хаос - кавычки разные, пробелы то есть, то их нет. Думаю это не самое страшное в твоем коде )) Опечатки, безграмотный английский - тоже мелочи ))

cyber 12.01.2015 13:08

Цитата:

Сообщение от danik.js
В code style хаос -

Знаю, это из за того что часть кода писал оч. Давно.
Цитата:

Сообщение от danik.js
Опечатки, безграмотный английский - тоже мелочи

Над этим тоже работаю:)

cyber 12.01.2015 13:24

danik.js, а вообще спасибо, за кртитику, то что нужно, мелкие баги поправлю:)
Цитата:

Сообщение от danik.js
Опечатки, безграмотный английский -

Можно не много примеры?)

П.с сам скрипт фигня (по сложности) и я эта прекрасно понимаю:)

danik.js 12.01.2015 15:46

Описание:
Цитата:

It is small cross-browser script for modal windows or popup windows.
Артикль пропущен. Да и не нужно тут предложение с подлежащим/сказуемым. Просто Small ...

Цитата:

NotUseAnimate - if true, modal window not used animation
function modal

Конструкторы с большой буквы - не вкурсе чели?

throw "Incorrect parameter 'window', expected Element";

Помоему это TypeError. И вроде аргумент, а не параметр.
Цитата:

closeHadnler
Цитата:

onClickClose
Цитата:

showAnimateWin
Цитата:

getSupported
Имена методов/событий - то show, то open, то hide, то close.
isHTMLElement вернет true даже для SVGElement (у них же есть style?) или просто Element.
К чему проверка style?

cyber 12.01.2015 17:02

danik.js, зоопарк с функциями и именами поправлю, я просто сначала поправил функционал.
Цитата:

Сообщение от danik.js
HTMLElement вернет true даже для SVGElement (у них же есть style?) или просто Element.

А как тогда выделить именно html element

cyber 12.01.2015 17:41

getSupported - это не буливая функция, там возвращает по строку с поддерживаемым методом, поэтому не is*

melky 12.01.2015 17:59

Цитата:

Сообщение от danik.js
Конструкторы с большой буквы - не вкурсе чели?

Цитата:

Сообщение от danik.js
NotUseAnimate

А имя темя не смутило :)

обычно не используют вообще булевы с "not" - слишком громоздко получается

в конкреном случае можно заюзать и useAnimate или вообще animate (вверх простоты)

cyber 12.01.2015 18:01

Цитата:

Сообщение от melky
А имя темя не смутило

Такого имени уже нет, только в комментарии забыл поменять
Цитата:

Сообщение от melky
обычно не используют вообще булевы с "not" - слишком громоздко получается

в конкреном случае можно заюзать и useAnimate или вообще animate (вверх простоты)

Тогда казалось так удобнее, сейчас поменяю, сделаю по умолчанию true и все)

cyber 12.01.2015 18:23

Цитата:

Сообщение от danik.js
Вот только зачем, если на регулярках быстрее?

Нет, не быстрее проверял

это не поломает функции, но trim добавил, так как пробелы могут быть в начале и конце
Цитата:

Сообщение от danik.js
Пробелов может быть несколько идущих подряд. Тогда делать trim().


cyber 12.01.2015 19:13

Обновил до 1.0.5
https://github.com/cyberua/modalJS

cyber 12.01.2015 19:29

Обновил до 1.1
https://github.com/cyberua/modalJS

cyber 05.06.2015 22:49

Версия 2.0
https://github.com/cyberua/multiPopupJS

cyber 08.06.2015 01:44

Знаю что скрипт особо кроме меня не кому не нужен, но я тут учу инглишь что скажете по комментам, сильном много ошибок?)


Часовой пояс GMT +3, время: 06:04.