+ Ответить в теме
Показано с 1 по 9 из 9

Тема: Вывести окно для отзыва.

  1. #1
    Гений Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Аватар для Max_br
    Регистрация
    26.02.2008
    Адрес
    54
    Возраст
    40
    Сообщений
    2,097
    Поблагодарил(а)
    1,077
    Получено благодарностей: 824 (сообщений: 401).

    По умолчанию Вывести окно для отзыва.

    Подскажите какой нибудь русскоязычный ресурс или скиньте простиенький прмер для реализации такой задачи: на сайте есть, допустим, ссылка или кнопка "Оставить отзыв" после нажатия на нее открывается (показывается) окошко, где пользователю предлагается ввести текст сообщения, так что бы это окошко открывалось не перезагружая страницу (AJAX?) наверное как сделано на http://bst.bratsk.ru/ ссылочка "войти"

  2. #2
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    Все довольно просто -- надо создать на странице блочный элемент, прописать ему все сопутствующие CSS свойства (fixed и тп.), затем прячем его, и потом с помощью js-фунции манипулируем свойством display, меняя его с none на block.

    Подробнее: создаешь на странице блок (<div>) с формой, назначаешь ему, например, id = 'myForm', затем в css прописываешь для него помимо прочих правило:

    Код HTML:
    #myForm { display:none; }
    а потом на кнопку или ссылку вешаем вызов функции, например так:

    Код HTML:
    <a href="/login/" onclick="showLogin(); return false;">войти</a>
    И пишем обработчик:

    Код:
    function showLogin(){
    	var $myForm = document.getElementById("myForm");
    	if ($myForm.style.display == 'block'){
    		$myForm.style.display = 'none';
    	}else{
    		$myForm.style.display = 'block';		
    	} 	
    }
    можно усложнить пример и добавить еще один слой с затемнением -- overlay.

    На БСТ все сам делал, так что может в чем то не оптимально, но посмотри код там сам, разобраться не сложно)
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  3. 1 пользователь сказал cпасибо nons за это полезное сообщение:

    Max_br (20.08.2009)

  4. #3
    Гений Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Аватар для Max_br
    Регистрация
    26.02.2008
    Адрес
    54
    Возраст
    40
    Сообщений
    2,097
    Поблагодарил(а)
    1,077
    Получено благодарностей: 824 (сообщений: 401).

    По умолчанию

    Не могу еще догнать - в опере все норм выводится область div в которой я сделаю формачку посередине экрана и при скролленге то же двигается, а вот в ИЕ (у меня 6-й) выводится относительно верхнего правого угла и все, позиция не меняется, при скролленге то же стоит на месте, пока для примера взял стили с сайта БСТ (на самом сайте мой ИЕ нормально все отображает (скроллинг, в центре монитора)

    вот пока использую эти стили, да же не менял ничего:
    Код:
    #loginform {padding: 25px 10px 10px 25px; position: fixed; margin: 0px 33% 0px 33%; top: 10%; width: 350px; background: #fff; border: solid #aaa 5px; z-index: 10000; display: none;}
    
    #overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; min-height: 100%; z-index:9999; background-color:#000; -moz-opacity: 0.8; opacity:.80; filter: alpha(opacity=80);}
    
    * html #loginform  {position: absolute;}
    * html #overlay  {position: absolute; height:expression(document.body.scrollHeight);}
    
    #loginform h1 {display: inline;}
    #loginform span {display: inline; margin-left: 15px;}
    #loginform p {margin: 10px 0 5px 0; }
    #loginform .note {margin: 10px 0 5px 0; color: #777; font-size: 1.1em;}
    #loginform small {font-size: 1.1em;}
    #loginform .text {width: 60%;}
    #loginform .close {margin-top: 10px; clear: both; float: right; background: #fff url("/images/close.png") no-repeat; display: block; width: 70px; height: 20px;}
    может где то что то упустил, есть еще функция scrolling, только пока не догнал где она используется.

  5. #4
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    Код:
    function scrolling() {
    	var loginform = $("loginform");
    	loginform.style.posTop = document.body.scrollTop;
    	loginform.style.posTop = (loginform.style.posTop)+100;
    }
    в onload тега body для ИЕ6 вызывай
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  6. 1 пользователь сказал cпасибо nons за это полезное сообщение:

    Max_br (22.08.2009)

  7. #5
    Гений Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Аватар для Max_br
    Регистрация
    26.02.2008
    Адрес
    54
    Возраст
    40
    Сообщений
    2,097
    Поблагодарил(а)
    1,077
    Получено благодарностей: 824 (сообщений: 401).

    По умолчанию

    Кстате на БСТ в ИЕ6
    Код:
    <body onload="Rotator('15');" onscroll="scrolling();"><body onload="Rotator('15');">
    два раза тег БОДИ.

    Nons, как должно быть написано услове в теге body?

  8. 1 пользователь сказал cпасибо Max_br за это полезное сообщение:

    nons (28.08.2009)

  9. #6
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    двойной <body> пофиксил, спасибо

    Код HTML:
    <body  onscroll="scrolling();">
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  10. #7
    Гений Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Аватар для Max_br
    Регистрация
    26.02.2008
    Адрес
    54
    Возраст
    40
    Сообщений
    2,097
    Поблагодарил(а)
    1,077
    Получено благодарностей: 824 (сообщений: 401).

    По умолчанию

    Цитата Сообщение от nons Посмотреть сообщение
    двойной <body> пофиксил, спасибо

    Код HTML:
    <body  onscroll="scrolling();">
    это понятно, а как условие прописать на используемый браузер?

    Код:
    <body <!--[if IE 6]> onscroll="scrolling();" <![endif]-->>
    не канает

  11. #8
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    я средствами PHP определял браузер
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  12. 1 пользователь сказал cпасибо nons за это полезное сообщение:

    Max_br (28.08.2009)

  13. #9
    Гений Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Max_br Закрылки на взлет Аватар для Max_br
    Регистрация
    26.02.2008
    Адрес
    54
    Возраст
    40
    Сообщений
    2,097
    Поблагодарил(а)
    1,077
    Получено благодарностей: 824 (сообщений: 401).

    По умолчанию

    Блин уже голову сломал, как и говорил в опере все гуд а в ИЕ6 почему то открывается окно (точнее показывается) но позиционруется не по центру а от правого верхнего угла чуть ниже и при скролленге (функция подгружается в тег <body> ) окно так же стоит на месте и не двигается.

    Может чего еще не хватает?

    css абсолютно ничего не менял
    Код:
    /*форма входа*/
    #loginform {padding: 25px 10px 10px 25px; position: fixed; margin: 0px 33% 0px 33%; top: 10%; width: 350px; background: #fff; border: solid #aaa 5px; z-index: 10000; display: none;}
    
    #overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; min-height: 100%; z-index:9999; background-color:#000; -moz-opacity: 0.8; opacity:.80; filter: alpha(opacity=80);}
    
    * html #loginform  {position: absolute;}
    * html #overlay  {position: absolute; height:expression(document.body.scrollHeight);}
    
    #openid {display: none;}
    #loginform h1 {display: inline;}
    #loginform span {display: inline; margin-left: 15px;}
    #loginform p {margin: 10px 0 5px 0; }
    #loginform .note {margin: 10px 0 5px 0; color: #777; font-size: 1.1em;}
    #loginform small {font-size: 1.1em;}
    #loginform .text {width: 60%;}
    #loginform .close {margin-top: 10px; clear: both; float: right; background: #fff url("/images/close.png") no-repeat; display: block; width: 70px; height: 20px;}
    Сам скрипт
    Код:
    ...
    <body  <? $agent=getenv("HTTP_USER_AGENT");  if ((eregi("msie",$agent))&&(strstr($agent,'6.'))) echo 'onscroll="scrolling();"'; ?>  >
    
    <script type="text/javascript">
    function scrolling() {
    	var loginform = $("loginform");
    	loginform.style.posTop = document.body.scrollTop;
    	loginform.style.posTop = (loginform.style.posTop)+100;
    }
    </script>
    
    ...
    
    <script type="text/javascript">
    
    function showLogin(){
    	var $myForm = document.getElementById("loginform");
    	if ($myForm.style.display == 'block'){
    		$myForm.style.display = 'none';
    	}else{
    		$myForm.style.display = 'block';
    	}
    }
    </script>
    
            <div id="overlay" onclick="showLogin();"></div>
    		<div id="loginform">
    			<h2>Ваш комментарий к ответу</h2>
    
    				<form method="post">
    					<p>Имя:</p>
    					<input type="text" class="text" name="login" />
    					<p>Сообщение:</p>
    					<input type="password" class="text" name="password" />&nbsp;<small><a href="/forgot/">Забыли&nbsp;пароль?</a></small>
    					<input type="submit" name="loginb" value=" Войти " />
    
    			<a href="#" class="close" onclick="showLogin(); return(false);" /></a>
    			</div>
    
    ...

+ Ответить в теме

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Похожие темы

  1. Ответов: 23
    Последнее сообщение: 26.07.2019, 22:38
  2. интерфейс из 3 окон!!!
    от sacta в разделе Delphi/Pascal
    Ответов: 3
    Последнее сообщение: 13.03.2009, 17:57
  3. Тайное окно
    от CieL в разделе Триллер/Хоррор
    Ответов: 3
    Последнее сообщение: 08.03.2007, 00:11
  4. Как свернуть окно?
    от o1ps в разделе Операционные системы
    Ответов: 11
    Последнее сообщение: 14.10.2006, 11:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru
Администрация сайта не выражает согласия
с высказыванием участников форума и не несет
ответственности за их содержание.

Копирование любого материала возможно только
при наличии ссылки на сайт.