Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Модальное окно

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: помогите сделать кнопку "закрыть"
dmaw
Отправлено: 31 Августа, 2010 - 13:08:39
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


Помог: 0 раз(а)




Нашёл отличный скрипт всплывающего модального окна, беда только в том, что автор забыл встроить кнопку "закрыть". Может кто-нибудь сможет дописать пару строк js-кода.

Скрипт прикрепил архивом.
Скачать файл: модальные.rar
Скачан раз: 362
 
 Top
cHameleon
Отправлено: 31 Августа, 2010 - 14:04:08
Post Id



Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. $("#close").click(function() {
  2.         $('#fade, #popuprel, #popuprel2').css('visibility','hidden');
  3. });    

мне кажется можно так)


-----
берём notepad++ и творим пэхэпэ-мир
 
 Top
Viper
Отправлено: 31 Августа, 2010 - 14:28:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. $('#fade, #close').click(function(e){
  2.         e.preventDefault();
  3.         $('#fade, #popuprel, #popuprel2').fadeOut()
  4. });


так лучше.
и для #fade в стилях дописать cursor: pointer;

PS! Скрипт просто убогий имхо Улыбка

(Отредактировано автором: 31 Августа, 2010 - 14:29:43)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 31 Августа, 2010 - 17:00:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Viper пишет:
PS! Скрипт просто убогий имхо
В качестве реализации модального окна можно использовать встроенные функции браузера которые обеспечивают большую производительность - и добавляют явное разграничене между областью общей страницы и модальным окном по объектой модели и обработке событий Для реализации этого можно определить использует ли клиент браузера Internet explorer и в таком случае использовать фунции http://msdn[dot]microsoft[dot]com/en-us/[dot][dot][dot]59(v=VS[dot]85)[dot]aspx и http://msdn[dot]microsoft[dot]com/en-us/[dot][dot][dot]61(v=VS[dot]85)[dot]aspx - а для остальных браузеров можно оставить текущую реализацию


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Viper
Отправлено: 01 Сентября, 2010 - 07:29:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




JustUserR web 2.0 + юзабилити. IE с его костылями прошлый век.

(Отредактировано автором: 01 Сентября, 2010 - 07:31:01)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 01 Сентября, 2010 - 17:19:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Viper пишет:
IE с его костылями прошлый век
В модели документа которая поставляется в браузере Internet explorer и управляется с помощью встроенного JS-скриптинга имеется достаточно много средств - при этом они реализованы во внутренней функциональности и работают быстрее и эффективнее Все фреймровки для клиентского программирования HTML-страниц построены на чистом JS-скрипте и представляют собой медленную систему в виде надстройки над интерпретором - в то время как их функциональность уже реалзована в нативных средствах Internet explorer - и таким образом требуемая абстракция предоставляет на уровне браузера и частично системного интерфейса - в то время как фреймворки типа jquery могут объективно себе позволить только виртуализацию внутри реальных JS-объектов


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Viper
Отправлено: 02 Сентября, 2010 - 07:45:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




JustUserR из личного опыта... лучше сделать 1 раз под все браузеры, чем городить костыли для IE в виде непонятных нативных решений(я уверен что кривых). Тем более что работа фреймворков очень хорошо оптимизированна и время в тысячные доли секунд не сыграет никакой роли для клиента. Тем более что нет никакой гарантии что нативный код IE будет одинаково работать в всех его версиях. В то же время фреймоврки предоставляют функционал намного больше и код работает в всех браузерах ну кроме разве что самых экзотичных да Осла версии ниже 6-ой.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
dmaw
Отправлено: 02 Сентября, 2010 - 10:04:53
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


Помог: 0 раз(а)




Ребята, спасибо, всем за помощь, сделал всё как описал Viper, работает отлично.
Но после последних ответов задумался, может сделать всё проще:
CODE (html):
скопировать код в буфер обмена
  1. <a href="#" onClick="window.open('page.php', '_blank', 'Toolbar=0, Scrollbars=1, Resizable=0, Width=500, resize=no, Height=300');">Модальное окно</a>

В этом случае открывается окно с нужными размерами, никаких лишних библиотек навешивать не нужно, правда нет спецэффектов, хотя кому они нужны.
 
 Top
Viper
Отправлено: 02 Сентября, 2010 - 11:01:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




dmaw решать вам. но с точки зрения юзабилити первый вариант лучше. т.к. у пользователя могут стоят различные popup-блокеры и прочая лабуда и юзер ваше окно, открываемое последним примером, не увидит. конечно есть костыли чтобы и это обходить, но это уже костыли!

ЗЫ! Если уж используете обработку событий для ссылок то никогда не пишите href="#" это дурной тон. Если обрабатываете onclick и другие подобные действия указывайте полный url страницы куда должно переходить, даже для ajax(если у юзера будет отключен js, то его перенаправит и он увидит результат). Либо пишите href="javascript:void(0);", это будет более корректно и вам не нужно будет писать потом в js функции return false.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 02 Сентября, 2010 - 17:05:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Viper пишет:
Тем более что работа фреймворков очень хорошо оптимизированна и время в тысячные доли секунд не сыграет никакой роли для клиента
К сожалению разница с используемых ресурсах для фреймворка и нативной функциональности является гораздо более существенной - хотя производительность систем все время увеличивается но не имеет особенного смысла тратить их изличшим образом - в частности для достаточно-медленного интернет-канала (А в россии далеко не везде есть быстрый и качественный интернет) и не особенно производительного компьютера web-сайт с фреймворком jquery и особенно плагинами к нему можно даже не открывать - в то время как нативное решение предлагаемое в IE будет работать почт мгновенно
Дело в том что объективно любой интерпретируемы код является очень медленным - в случае с Perl и PHP это не совсем так поскольку в их дистрибутивах имеется встроенный траснлятор и поэтому судить по их производительности о интерпретируемых языках не очень уместно - в то время как JS-скрипты являются истинно интерпретируемым и к тому же динамически загружаемыми- в силу чего обхемный фреймворк не может предоставлять хорошей производительности
Важным критерием является также разделение реальный JS-объектов для документа - в частности при создании отдельного окна или iframe-а он будет иметь собсвенную модель с собственными событиями и для него можно использовать любой JS-код - в то время как фреймворк только эмулирует работы и класический JS-код с ним не совсестим Кроме того для решения задч с максимальной эффективностью подходит использование только чистого JS-кода с оптимизацией под конкретную цель - а интерпретируемый фреймворк это крайне-медленнеое решением особенно при применении дальнейшего масштабированя
К примеру для языка Perl имеется два вида модулей для создания MD5-хешей - один из них релизован на самом интерпретируемом языка а другой использует скомпилированную системную библиотеку - и второй вариант оказывается быстрее примерно в 1000 раз для средних входных строк При этом Perl являтеся транслируемым языком - поэтому с сравнении с JS такая разница может достигать еще большим масштабов Таким образом можно говорить что использовать фреймворка jqeury потенциально замедляет работы в 100-1000 раз - конечно это может быть незаметно для глаза пользователя если разница идет о 1 и 1000 миллисекундах - однако разница есть и она существенная
dmaw пишет:
В этом случае открывается окно с нужными размерами, никаких лишних библиотек навешивать не нужно, правда нет спецэффектов, хотя кому они нужны.
Последний приведенный варианет дейтсвительно является более эффектиынм при использовании - во-первых создавемое таким образом окно полностью отделено на уровне DOM-модели и системного окна что позволяет использовать в нем независимые программные объекты - и во-вторых благодаря тому что осуществление такой операции выполняется нативным кодов в браузере то его работа будет значительно более быстрой


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Viper
Отправлено: 03 Сентября, 2010 - 08:22:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




JustUserR согласен что медленнее, но не настолько критично. по поводу интернет-каналов это как говорится "проблемы индейцев шерифа не волнуют". Тем более при правильной оптимизации и на 30кб канале можно нормально работать с сайтом. Вопрос ещё стоит в совместимости. если клиент зайдет с какого-то медиа-девайса что он увидит ? ничего. т.к. осла там просто нет. опять же прийдется писать отдельный код для нормальных браузеров и городить костыли для недобраузера. опять же вернулись к отправной точке, что несмотря на "тормознутость" фреймворков ихний функционал все же подходит для решения 90% задач с нормальной оптимизацией.

iframe имеет смысл лишь когда в какой-то слой загружается другой документ, а для решения задачи "слой в слое" это будет лишним.

Тем более не зная что втулит мелкомягкий в следующую версию осла, каким образом оно будет работать и будет ли вообще работать... в результате подхода конечный заказчик получает лишние расходы на переписывание кода под очередную версию браузера...

и опять же
Цитата:
у пользователя могут стоят различные popup-блокеры и прочая лабуда

что увидит юзер ? ничего.
и немного отойдя к статистике... обратите внимание на стат. данные по использованию пользователями сайтов с устаревшими технологиями либо с попап окнами... сколько раз юзер захочет зайти на страницу где при нажатии на ссылки будут вылазить кучи окон...

Итог всего этого чисто мое имхо основанное на опыте + современных тенденциях развития технологий: при правильной оптимизации, правильной структуре сайта, правильной разметке страниц мы получаем отличное юзабилити и никаких тормозов.

ЗЫ! 90%+ "программистов" просто не понимают ключевых моментов разработки, забывая про оптимизацию + современные технологии.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 03 Сентября, 2010 - 14:20:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Viper пишет:
Тем более не зная что втулит мелкомягкий в следующую версию осла, каким образом оно будет работать и будет ли вообще работать... в результате подхода конечный заказчик получает лишние расходы на переписывание кода под очередную версию браузера...
В браузере Internet explorer имеется достаточно сильная обратная совместимость которая выражена в достаточной мере по сравнению со многими другими браузерами - кроме того для добавляемая функциональность работает независимо от уже имеющейся что поддерживает полную совместимость по скриптингу со старыми сайтами
Кроме того все потенциальные вышесказанные вами недостаточки можно отнести и к фреймворкам - только если mircorost занимается сопровождением клиентов и заботится о совместимости - то все jquery и прочие проекты предоставляют по лицензиям типа GPL и если они перестанут работать то вам не дают никаких гарантий - в то вреся как в Internet explorer и другие коммерческих продуктах имеется набор таких обязательств
Если рассматривать вопрос оптимизации и быстродейтсвия то здесь можно найти оптимальное решение - конечно для многих задач можно использовать специальные JS-библиотеки - но полные надстройки типа jquery слишком медлительны и не совместимы с настоящим JS-кодом В любом случае *ВСЯ* функцональность фреймворков реализована на чистом JS-коде - и при любых обстоятельстах он не может предоставить больше функциональности В это же время Internet explorer & Opera предоставляют достаточно много встроенных объектов с завершенной функциональностю - которая является нативной для браузера и не представлена в виде надстройки
Как вывод можно сказать что определенная JS-библиотека может быть очень полезна и реализовывать алгоритм максимально эффективно - но полная надстройка типа jquery никакого преимущесва не дает


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Viper
Отправлено: 03 Сентября, 2010 - 15:09:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




JustUserR однако же больше всего проблем у дизайнеров именно с IE... (коммерческий продукт != хорошо) = априори.

Имхо "специальные JS-библиотеки" это костыли 100% которых реализованы в лучшем виде в любом из фреймворков.

ЗЫ! Эко мы тут с вами холивар развели Радость


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 04 Сентября, 2010 - 12:10:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Viper пишет:
ЗЫ! Эко мы тут с вами холивар развели
В этом плане я с вами соглашусь и думаю что тему можно закрыть или теренисти в отдельную ветку - по обсуждению фреймворков с вирутальным замещением функциональности и эффективности их работы Улыбка
Тема закрыта!


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB