Каталог статей
Учимся делать Ajax окна

Рейтинг:5.0
Категория: Всё для вебмастера
 


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

И так приступим к творению.
Code

new _uWnd('Уникальный id','Название окна', Высота, Ширина,{  
  // Параметры  
  },{//контент  
  });


Уникальный id - слово или словосочетание (нужен далее для обращения к этому окну, обработки событий с этим окном)
Название окна - То что будет отображаться в заголовке окна.
Высота, Ширина - Размеры окна.
Параметры - Параметры окна. Например кнопки управления окном, максимальные/минимальный размеры окна.
Контент - Текст или html код, отображаемый внутри окна.

Немного разберемся с переменными:
string - Строковая переменная в одинарных кавычках '', напр.( 'Название окна' )
integer - Целое число, напр.(220)
boolean - Логическая переменная. Принимает значение 1 - да, 2 - нет или true - да, false - нет, напр.( min:1 )

Теперь параметры:
autosize boolean - автоопределение размеров.
autosizewidth boolean - автоопределение ширины.
autosizeonimages boolean - автоматически изменять размеры после загрузки картинок.
hideonresize boolean - прятать содержимое при изменении размеров окна.
waitimages boolean - ждать загрузки всех картинок.
markload string - текст загрузки.
align string - выравнивание.
shadow boolean - тень.
header boolean - отображать ли шапку.
min boolean - отображать ли кнопку Minimize (свернуть).
max boolean - отображать ли кнопку Maximize (развернуть).
design string - дизайн. Является ключем объекта _uWnd.designs.
close boolean - отображать ли кнопку Close (закрыть).
hidden boolean - скрытое окно.
modal boolean - модальное окно (все остальное пространство закрывается полупрозраным слоем).
alert boolean - окно будет отображаться выше модальных окон.
popup boolean - закрывать ли окно при клике на пространстве вне окна.
nomove boolean - запретить перемещение окна.
hideonmove boolean - скрывать содержимое окна при перемещении окна.
resize boolean - разрешить изменение размеров окна пользователем.
fixed boolean - фиксированное окно (прокручивается вместе со страницей).
minh integer - минимальная высота.
maxh integer - максимальная высота.
minw integer - минимальная ширина.
maxw integer - максимальная ширина.
icon string - иконка для окна. Отображается в заголовке.
oncontent function - функция, выполняющаяся после добавления контента в окно.
onclose function - функция, выполняющаяся после закрытия окна.
onbeforeclose function - функция, выполняющаяся до закрытия окна (после клика на кнопку закрытия).
oninit function - функция, выполняющаяся при открытии окна.
onmousemove function - функция, выполняющаяся движении мышью над контентом окошка.
onposchange function - функция, выполняющаяся при каждом изменении позиции окна.
onactivate function - функция, выполняющаяся при получении окошком фокуса.
ondeactivate function - функция, выполняющаяся при потере окошком фокуса.
closeonesc boolean - закрывать ли окно при нажатии клавиши Esc.
initstate 'max'|'min' - состояние при открытии.
headerh integer - высота шапки.
headerc string|object - содержимое шапки. Строка или DOM-узел.
hideheader boolean|object - прятать шапку при загрузке.
footerh integer - высота футера.
footerс string|object - содержимое футера. Строка или DOM-узел.
hidefooter boolean|object - прятать футер при загрузке.
center boolean - по центру.
customButtons object - дополнительные кнопки. Каждому ключу name ассоциируется массив вида

Code

[init_visible,actionfunc,thispar,param]


Здесь:
- init_visible boolean - показывать ли кнопку при инициализации окна.
- actionfunc function - функция, которая будет вызвана при клике на - кнопку. Аргументы: [ссылка на окно, параметры]. Объект this будет указывать на thispar.
- thispar mixed - второй аргумент для функции.
- param mixed - параметр. Если не указан, используется имя окна.
- Классы кнопки: 'xt-name' - обычное состояние, 'xt-name-over' - при наведении, где name - ключ. Файл спрайтов кнопок.
- havemenu boolean - наличие меню. Определяется автоматически, в зависимости от аргумента menuitems.
- menuopts object - Опции меню.
- content object | string | function - контент. Может быть строкой, объектом или функцией, возвращающей строку. Объект может содержать следующие свойства и методы:

- url string - ссылка на документ.
- form string - ID формы, данные которой нужно отправить серверу.
- xml boolean - обрабатывать полученный код как XML или нет.
- type 'GET' | 'POST' - тип запроса.
- cache boolean - разрешить / запретить кеширование.
- async boolean - устанвить режим запроса (синхронный / асинхронный).
- success function - функция, срабатывающая после успешного получения данных. Принимает 2 аргумента:

- data string | object - непосредственно запрошенный документ.
- status integer - статус.

- error function - функция обработки ошибок.
- dataType string - тип данных. Нужен для функции success.

Контент
Контент можно использовать несколькими способами.
1.) Простой вид контента:
Code

<script type="text/javascript">  
  $(function(){  
  new _uWnd('test1','Название окна',250,350,{  
  shadow:1,  
  header:1,  
  icon:'/favicon.ico',  
  min:1,  
  close:1,  
  resize:1,  
  closeonesc:1  
  },'Контент<br>перевод на новую строку<br> \'Кавычки\'');  
  });  
  </script>


Именно так нужно оформлять кавычки внутри контента \'.

2.)Взять контент из элемента. Например, есть
дадим ему id:
. Спрячем этот div, а позже покажем его только в ajax-окне. Что-нибудь напишем .

цепляем к окну, меняем контент, где id недавно созданного div divtest:
Code

<script type="text/javascript">  
  $(function(){  
  new _uWnd('test2','Название окна',250,350,{  
  shadow:1,  
  header:1,  
  icon:'/favicon.ico',  
  min:1,  
  close:1,  
  resize:1,  
  closeonesc:1  
  },$('#divtest').html();  
  });  
  </script>


3.) Xml и iframe
Скачаиваем http://cut.moy.su/skriny/test3.xml в нём находим:
Code

<![CDATA[  
  XML Контент<br>перевод на новую строку<br> \'Кавычки\'  
  Ни один классик не сдал бы экзамена по собственным произведениям.
  
  Godlab.ru  
  ]]>


Изменяем контент (обычный HTML) внутри CDATA[.
И вызываем окно:

Code

<script type="text/javascript">  
  $(function(){  
  new _uWnd('test3','Название окна',250,350,{  
  shadow:1,  
  header:1,  
  icon:'/favicon.ico',  
  min:1,  
  close:1,  
  resize:1,  
  closeonesc:1  
  },{url:'путь_к_xml_файлу',xml:true});  
  });  
  </script>


Работа с фреймом:
Code

<script type="text/javascript">  
  $(function(){  
  new _uWnd('test4','Название окна',250,350,{  
  shadow:1,  
  header:1,  
  icon:'/favicon.ico',  
  min:1,  
  close:1,  
  resize:1,  
  closeonesc:1  
  },'<iframe src="путь_к_странице" scrolling="no" style="width:100%; height:100%; margin:0px; border:0px;"></iframe>');  
  });  
  </script>


Вызываем ajax-окно при нажатии на кнопку.
Вставляем вызов функции окна.
Code

<script type="text/javascript">  
  function open_ajax(){  
  new _uWnd('test5','Название окна',250,350,{  
  shadow:1,  
  header:1,  
  icon:'/favicon.ico',  
  min:1,  
  close:1,  
  resize:1,  
  closeonesc:1  
  },'Контент<br>перевод на новую строку<br> \'Кавычки\'');  
  };  
  </script>


- ссылка:
Code

<a href="javascript://" onclick="open_ajax();">Пример5</a>


- или кнопка:
Code

<input type="button" value="Пример5" onclick="open_ajax();"/>


Передаем текст по нажатию на кнопку.
Вставляем переменную, вместо контента:
Code

<script type="text/javascript">  
  function open_ajax1(content){  
  new _uWnd('test6','Название окна',250,350,{  
  shadow:1,  
  header:1,  
  icon:'/favicon.ico',  
  min:1,  
  close:1,  
  resize:1,  
  closeonesc:1  
  },content);//изменяем контент на переменную  
  };  
  </script>


И сама кнопка:
Code

<input type="button" value="Пример6" onclick="open_ajax1('Ваше содержимое в окне');"/>


Добавляем кнопку закрытия окна:
Code

<script type="text/javascript">  
  var button =_uButton(null, 'button',{ text: 'Закрыть окно', content: 'onclick="_uWnd.close(\'test7\')"' });  
  function open_ajax2(content){  
  new _uWnd('example7','Название окна',250,350,{  
  shadow:1,  
  header:1,  
  icon:'/favicon.ico',  
  min:1,  
  close:1,  
  resize:1,  
  closeonesc:1  
  },content+button);//изменяем контент на переменную  
  };  
  </script>


И сама кнопка:
Code

<input type="button" value="Пример7" onclick="open_ajax2('Ваше содержимое в окне');"/>
 
 
 
 
 
 0 комментариев  1170 просмотров  дата: 24.04.2024  автор: admin
 
 
Советую взглянуть:
  • Вид и Форма Комментариев Вконтакте
  • Вид статистики
  • Вид материалов для форума ucoz
  • Улучшенный вид "Кто онлайн" для Ucoz
  •  
     
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    Регистрация | Вход

    Меню сайта

    Мини чат

    Последние комментарии


    Опрос сайта

    А вы за оригинальный дизайн своего сайта?
    Всего ответов: 8

    Статистика

    Кол-во зареганных: 2908 (+0)
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Сейчас на сайте:

    Нас посетили: