• Страница 1 из 1
  • 1
ZoomImage plugin
LaiNeRДата: Суббота, 09.10.2010, 21:50 | Сообщение # 1
=Основатель=
Логин: LaiNeR
Имя: Rustam Mosin
Сообщений: 3127
Награды: 51
Репутация: 519
Замечания:
Данный плагин реализует зум изображения — при наведении мышкой на картинку всплывает небольшое окошко 50х50, в котором находится увеличенная копия изображения, причём если водить мышкой по изображению, то изображение в окошке тоже будет прокручиваться.

Пример можно посмотреть здесь.

Скрипт проверен в браузерах Opera, Firefox и IE.

Установка:

1. Задайте картинкам, к которым нужно применить зум, класс zoomimage. Пример:

Code
<img class="zoomimage" src="$OTHER_1$" />

2. В конец BODY установите сам плагин:

Code
<script type="text/javascript">  
function Zoom(imgclass) {  
   function addEvent(object, type, handler) {  
    function handle(e) {  
     e = e || window.event;  
     if (!e.pageX || !e.pageY) {  
      var html = document.documentElement,  
      body = document.body;  
      e.pageX = event.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0);  
      e.pageY = event.clientY + (html && html.scrollTop || body && body.scrollTop || 0) - (html.clientTop || 0);  
     }  
     handler.call(object, e);  
    }  
    if (object.addEventListener) {  
     object.addEventListener(type, handle, false);  
    } else {  
     object.attachEvent('on' + type, handle);  
    }  
   }  
   function getOffset(element) {  
    var offsetLeft = 0,  
    offsetTop = 0;  
    do {  
     offsetLeft += element.offsetLeft;  
     offsetTop += element.offsetTop;  
    } while (element = element.offsetParent)  
    return {  
     top: offsetTop,  
     left: offsetLeft  
    }  
   }  
   function getElementsByClassName(imgclass) {  
    if (document.getElementsByClassName) {  
     return document.getElementsByClassName(imgclass);  
    } else {  
     var nodes = document.getElementsByTagName('*'),  
     tmp = [];  
     for (var i = 0; i < nodes.length; i++) {  
      if (new RegExp('\\b' + imgclass + '\\b').test(nodes[i].className)) {  
       tmp.push(nodes[i]);  
      }  
     }  
     return tmp;  
    }  
   }  
   var images = getElementsByClassName(imgclass);  
   for (var i = 0; i < images.length; i++) {  
    var tip = document.createElement('DIV');  
    tip.style.cssText = 'overflow: hidden; display: none; width: 50px; height: 50px; border: 1px solid #EEEEEE; position: absolute; background: #FFFFFF;';  
    images[i].offset = getOffset(images[i]);  
    images[i].parentNode.insertBefore(tip, images[i].nextSibling);  
    addEvent(images[i], 'mouseover', function () {  
     this.nextSibling.innerHTML = '<img src="' + this.src + '" width="' + (this.offsetWidth * 2) + '" height="' + (this.offsetHeight * 2) + '" />';  
     this.nextSibling.style.display = 'block';  
    });  
    addEvent(images[i], 'mouseout', function () {  
     this.nextSibling.style.display = 'none';  
    });  
    addEvent(images[i], 'mousemove', function (event) {  
     var tip = this.nextSibling,  
     img = tip.firstChild;  
     tip.style.top = event.pageY + 10;  
     tip.style.left = event.pageX + 10;  
     img.style.marginTop = -event.pageY * 2 + this.offset.top * 2 + 25;  
     img.style.marginLeft = -event.pageX * 2 + this.offset.left * 2 + 25;  
    });  
   }  
}  
Zoom('zoomimage');  
</script>

В конце кода мы видим вызов Zoom('zoomimage'); — так вот, zoomimage — это и есть класс изображений, можно менять на свой при необходимости.

Автор плагина — $USERNAME$


  • Страница 1 из 1
  • 1
Поиск:

Статистика Форума
Лучшие пользователи
Уважаемые пользователи
Популярные темы
Недавно обновленные темы
LaiNeR Постов [ 3127 ]
Staistesap Постов [ 1545 ]
z1M Постов [ 1488 ]
Mooxyrep Постов [ 1145 ]
Pooniacact Постов [ 986 ]
KoreshoK Постов [ 644 ]
LonS Постов [ 585 ]
BIG_BOSS Постов [ 572 ]
DoZa Постов [ 564 ]
shooter Постов [ 468 ]
LonS Репутация [ 546 ]
LaiNeR Репутация [ 519 ]
Smofee Репутация [ 477 ]
СнAйПер Репутация [ 436 ]
MedeX Репутация [ 412 ]
TiPSy Репутация [ 300 ]
bleff Репутация [ 279 ]
-=SToRM=- Репутация [ 235 ]
A6c3Ht^ Репутация [ 225 ]
NoRD Репутация [ 210 ]
Общение [ 1309 ]
Считаем до 1 000 [ 664 ]
Поговорим обо всем :) (девушки, машины, личная жизнь и тд) [ 369 ]
Афоризмы (Не комментируйте) [ 301 ]
Играем в СЛОВА [ 187 ]
Конкурс "Угадай возраст". [ 183 ]
Конкурс "Угадай автомобиль" [ 110 ]
Предложения по сайту [ 97 ]
Набивка постов [ 80 ]
Обломай товарища [ 75 ]
source-boost.ru | Мониторинг сервера CSS v34 [ 0 ]
source-boost.ru | Мониторинг сервера CSS v34 [ 0 ]
Скачать CSS v34 НОВЫЕ ПУШКИ - cs-kontra.ru [ 0 ]
Скачать CSS v34 НОВЫЕ ПУШКИ - cs-kontra.ru [ 0 ]
Скачать CSS v34 НОВЫЕ ПУШКИ - cs-kontra.ru [ 0 ]
Скачать CSS v34 НОВЫЕ ПУШКИ - cs-kontra.ru [ 0 ]
Скачать CSS v34 НОВЫЕ ПУШКИ - cs-kontra.ru [ 0 ]
Скачать CSS v34 НОВЫЕ ПУШКИ - cs-kontra.ru [ 0 ]
Скачать CSS v34 НОВЫЕ ПУШКИ - cs-kontra.ru [ 0 ]
Swatik [ 1 ]

Хостинг от uCoz | sitemap.xml | sitemap-forum.xml | sitemap-shop.xml | urllist.txt | |
PR-CY.ru