Задача: Просмотр изображения во всплывающем окне
Исходник: Просмотр изображения во всплывающем окне, язык: javascript [code #192, hits: 14866]
автор: this [добавлен: 24.12.2006]
  1. function OpenImagePopup(imgPath, title, alt) {
  2. var win = window.open('','preview',
  3. 'width=50,height=50,left=0,top=0,screenX=0,screenY=0,resizable=1,scrollbar=0,status=0');
  4.  
  5. var winDoc = win.document;
  6. if (title == undefined) title = 'My Image, Click to Close';
  7. if (alt == undefined) alt = 'My Image, Click to Close';
  8. var content = '<html><head><title>' + title + '</title>' +
  9. '<style>body{overflow: hidden;margin:0;}img{border:0;}</style>' +
  10. '</head><body><a href="javascript:self.close()">' +
  11. '<img alt="' + alt + '" id="image" src="' + imgPath + '" /></a></body></html>'
  12. win.document.write(content);
  13.  
  14. winDoc.body.onload = function() {
  15. var obj = winDoc.getElementById('image');
  16. var w = obj.width, h = obj.height;
  17. var iHeight= document.body.clientHeight, iWidth = self.innerWidth;
  18.  
  19. var left = (self.opera ? iWidth : screen.availWidth)/2 - w/2;
  20. var top = (self.opera ? iHeight : screen.availHeight)/2 - h/2;
  21. win.resizeTo(w+10, h+26);
  22. win.moveTo(left, top);
  23. }
  24.  
  25. win.onload = winDoc.body.onload; // special for Mozilla
  26.  
  27. // !!! Important statement: popup onload won't execute without it!
  28. win.document.close();
  29. win.focus();
  30. }
  31.  
  32. // ......
  33. // Example:
  34. <a href="javascript:void(0);" onclick="return OpenImagePopup('./1.jpg', 'Поле', 'Закрыть');">view</a>
Открывает popup, загружает в нем изображение, масштабирует окно под размеры картинки, центрирует под разрешение монитора.
imgPath - url картинки
title - заголовок окна
alt - всплывающая подсказка при наведении на изображение

При клике на изображение - происходит закрытие окна.

Пример(*.rar) - картинка + простенькая страница демонстрации использования (~16kb)
Тестировалось на: IE 6.0 SP2, Mozilla FF 1.5, Opera 9.0

+добавить реализацию