Плавное увеличение картинки при наведении на неё курсором мыши

При наведении курсора на изображение, оно плавно увеличивается.

Это, достаточно, полезная функция, по сути, для любого информационного сайта на котором размещены, какие-либо, картинки.

С помощью этого скрипта, Вам, не понадобится открывать изображение в новом окне для того, чтобы просмотреть его в полном размере. Достаточно просто навести на картинку курсором мыши.

 

ДЕМОНСТРАЦИЯ

 

1. Создаём файл imagesize.css

img.expando
{
border: none;
vertical-align: bottom;
}

затем подгружаем его:

<link rel="stylesheet" href="ПУТЬ К ФАЙЛУ/imagesize.css" type="text/css" />

2. Создаём файл imagesize.js

if (document.images){
 (function(){
  var cos, a = /Apple/.test(navigator.vendor), times = a? 20 : 40, speed = a? 40 : 20;
  var expConIm = function(im){
   im = im || window.event;
   if (!expConIm.r.test (im.className))
    im = im.target || im.srcElement || null;
   if (!im || !expConIm.r.test (im.className))
    return;
   var e = expConIm,
   widthHeight = function(dim){
    return dim[0] * cos + dim[1] + 'px';
   },
   resize = function(){
    cos = (1 - Math.cos((e.ims[i].jump / times) * Math.PI)) / 2;
    im.style.width = widthHeight (e.ims[i].w);
    im.style.height = widthHeight (e.ims[i].h);
    if (e.ims[i].d && times > e.ims[i].jump){
     ++e.ims[i].jump;
     e.ims[i].timer = setTimeout(resize, speed);
    } else if (!e.ims[i].d && e.ims[i].jump > 0){
     --e.ims[i].jump;
     e.ims[i].timer = setTimeout(resize, speed);
    }
   }, d = document.images, i = d.length - 1;
   for (i; i > -1; --i)
    if(d[i] == im) break;
   i = i + im.src;
   if (!e.ims[i]){
    e.ims[i] = {im : new Image(), jump : 0};
    e.ims[i].im.onload = function(){
     e.ims[i].w = [e.ims[i].im.width - im.width, im.width];
     e.ims[i].h = [e.ims[i].im.height - im.height, im.height];
     e (im);
    };
    e.ims[i].im.src = im.src;
    return;
    }
   if (e.ims[i].timer) clearTimeout(e.ims[i].timer);
   e.ims[i].d = !e.ims[i].d;
   resize ();
  };
  expConIm.ims = {};
  expConIm.r = new RegExp('\\bexpando\\b');
  if (document.addEventListener){
   document.addEventListener('mouseover', expConIm, false);
   document.addEventListener('mouseout', expConIm, false);
  }
  else if (document.attachEvent){
   document.attachEvent('onmouseover', expConIm);
   document.attachEvent('onmouseout', expConIm);
  }
 })();
}

подгружаем:

<script type="text/javascript" src="ПУТЬ К ФАЙЛУ/imagesize.js"></script>

3. Помещаем картинки в любое место на сайте прописав в коде:

<div>
<img class="expando" border="0" src="ПУТЬ К ФАЙЛУ/image1.jpg" width="150" height="110">
<img class="expando" border="0" src="ПУТЬ К ФАЙЛУ/image2.jpg" width="212" height="160">
<img class="expando" border="0" src="ПУТЬ К ФАЙЛУ/image3.jpg" width="127" height="86">
<img class="expando" border="0" src="ПУТЬ К ФАЙЛУ/image4.jpg" width="127" height="86">
</div>

Размер картинки надо указывать не реальный а тот каким, Вы, хотите видеть его в миниатюре. Например реальный размер картинки image1.jpg 320 x 240, а в коде указан: width=»150″ height=»110″

Размещено в CSS и отмечено , , .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.