Введение:
Аннотация
Описание imager
Апплеты:
ScaledImageViewer
ImagesPreLoader
OperatedPreLoader
OperatedImageViewer
Fragmentor
SimpleSliderAnimator
DynamicBannerViewer
Применение imager:
Встраивание апплетов в HTML-документ
Управление апплетами с помощью скриптов
Применение отдельных апплетов из архива
Примеры:
SimpleSliderAnimator
OperatedPreLoader
OperatedPreLoader и OperatedImageViewer
Fragmentor и OperatedImageViewer
DynamicBannerViewer: "анимированный баннер"
DynamicBannerViewer: "слайдер"
DynamicBannerViewer: эффект "шлейф"
DynamicBannerViewer: композиция изображений
Каталог HeadNet.Ru
Загрузить imager   Описание OperatedImageViewer   Описание OperatedPreLoader   HTML   JavaScript
Назад  Вперед

Совместное использование OperatedPreLoader и OperatedImageViewer

В этом примере показано использование методов апплета OperatedPreLoader для получения и проверки изображений а также методов апплета OperatedImageViewer.
Апплет OperatedPreLoader скрыт от пользователя.

Нажатие кнопки "Next" выводит следующее по порядку изображение, хранимое апплетом OperatedPreLoader в окне апплета OperatedImageViewer с увеличением в 1.2 раза. Если в этот момент демонстрируется последнее в списке изображение, то выводится первое.
Кнопка "Effect" работает аналогично кнопке "Next" с той разницей, что изображения выводятся с эффектом "раскрывающегося рисунка".

Текст HTML:

...
<APPLET NAME="preloader" CODEBASE="applets" CODE="OperatedPreLoader.class" ARCHIVE="imager.zip" WIDTH="0" HEIGHT="0">
 <PARAM NAME="filenmlist" VALUE="im1.jpg im2.jpg im3.jpg im4.jpg im5.jpg im6.jpg im7.jpg">
</APPLET>
<APPLET NAME="viewer" CODEBASE="applets" ARCHIVE="imager.zip" CODE="OperatedImageViewer.class" WIDTH=360 HEIGHT=240>
 <PARAM NAME="picture" VALUE="im1.jpg">
 <PARAM NAME="align" VALUE="center">
 <PARAM NAME="bgcolor" VALUE="C0C0C0">
 <PARAM NAME="scale" VALUE="1.2">
</APPLET>
<FORM>
<INPUT TYPE="button" VALUE="Next" onClick="showNext()">
<INPUT TYPE="button" VALUE="Effect"
  onClick="showNextIncreasing()">
</FORM>
...

В начало страницы

Текст JavaScript:

<SCRIPT LANGUAGE="JavaScript">
<!--
/*Хранит индекс текущего изображения */
index = 0;
/* Начальный массштаб для эффекта "раскрывающегося рисунка" */
firstscale = 0.1;
/* Конечный массштаб для эффекта "раскрывающегося рисунка" */
lastscale = 1.2;
/* Множитель, на который умножается массштаб для эффекта "раскрывающегося рисунка" */
multiplier = 1.1;
/* Интервал, через который изменяется массштаб для эффекта "раскрывающегося рисунка" */
interval = 50;
/* Хранит массштаб текущего изображения для эффекта "раскрывающегося рисунка" */
scl =1;
/* Демонстрирует следующее по порядку изображение */
function showNext(){
 if (index >= document.applets.preloader.getCount()-1) index=0;
 else index++;
/* Если OperatedPreLoader успешно загрузил текущее изображение, то получаем его и передаем в OperatedImageViewer для демонстрации, в противном случае получаем имя файла текущего изображения и OperatedImageViewer загружает и демонстрирует его самостоятельно */
 if (document.applets.preloader.isSuccess(index)){
  pict = document.applets.preloader.getImage(index);
  document.applets.viewer.replaceImage(pict, 1.2);
 }
 else{
  filenm = document.applets.preloader.getFileName(index);
  document.applets.viewer.loadImage(filenm, 1.2);
 }
}
/* Демонстрирует следующее по порядку изображение с эффектом "раскрывающегося рисунка"
function showNextIncreasing(){
 if (index>=document.applets.preloader.getCount()-1) index=0;
 else index++;
 if (document.applets.preloader.isSuccess(index)){
  pict = document.applets.preloader.getImage(index);
/* Вывод текущего изображения в начальном массштабе */
  document.applets.viewer.replaceImage(pict, firstscale);
/* Запуск "эффекта раскрывающегося изображения" */
  startIncrease(firstscale);
 }
 else{
  filenm = document.applets.preloader.getFileName(index);
  document.applets.viewer.loadImage(filenm, firstscale);
/* Запуск "эффекта раскрывающегося изображения" */
  startIncrease(firstscale);
 }
}
/* Вызывает функцию для изменения массштаба с интервалом interval (ms) */
function startIncrease(sc){
 scl=sc;
 delay=
  window.setInterval("increasingImage(lastscale)",interval);
}
/* Увеличивает массштаб выводимого излбражения в multiplier раз. Когда массштаб достигает maxscale отменяет последующие вызовы самой себя путем очистки интервала */
function increasingImage(maxscale){
 if (scl < maxscale){
  scl = scl*multiplier;
  if (scl >= maxscale) scl = maxscale;
  document.applets.viewer.changeScale(scl);
 }
 else window.clearInterval(delay);
}
// -->
</SCRIPT>

В начало страницы
Назад  Вперед

Владимир Фомичев 2002, ©Владимир Фомичев