Суббота, 20 Апреля 2024
Pluta-Развлекательный портал

Пользовательского поиска                        

Профиль

Гость !!!

мы рады вас видеть!!!


Логин:
Пароль:




 Группа: Гости

Ограниченные возможности !!! Зарегистрируйтесь и получите полный объем функций.










Время:00:41:46

Меню сайта
Категории раздела
Софт [177]
Сборки Windows [76]
Книги [215]
Музыка [111]
Игры [42]
Фильмы [270]
Сериалы [94]
Юмор [23]
Видео [99]
Картинки [28]
Дизайн [26]
Клипы [28]
Обои для рабочего стола [73]
Все для мобилы [27]
PSP [24]
Вебмастеру [14]
Разное [77]
Скрипты [14]
Курилка
500
Наш опрос
Оцените мой сайт
Всего ответов: 2089
Статистика

One.Ru - рейтинг привлекательности сайтов

Rate.Ru - рейтинг коммерческих сайтов РуНета















Яндекс цитирования

Топ100- Развлечения





Реклама
Облако тегов

Главная » Статьи » Скрипты


Эффект отражения изображения

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.




вот сам скрипт

Code
<script type="text/javascript">  
document.getElementsByClassName = function(className) {  
  var children = document.getElementsByTagName('*') || document.all;  
  var elements = new Array();  
   
  for (var i = 0; i < children.length; i++) {  
  var child = children[i];  
  var classNames = child.className.split(' ');  
  for (var j = 0; j < classNames.length; j++) {  
  if (classNames[j] == className) {  
  elements.push(child);  
  break;  
  }  
  }  
  }  
  return elements;  
}  

var Reflection = {  
  defaultHeight : 0.5,  
  defaultOpacity: 0.5,  
   
  add: function(image, options) {  
  Reflection.remove(image);  
   
  doptions = { "height" : Reflection.defaultHeight, "opacity" : Reflection.defaultOpacity }  
  if (options) {  
  for (var i in doptions) {  
  if (!options[i]) {  
  options[i] = doptions[i];  
  }  
  }  
  } else {  
  options = doptions;  
  }  
   
  try {  
  var d = document.createElement('div');  
  var p = image;  
   
  var classes = p.className.split(' ');  
  var newClasses = '';  
  for (j=0;j<classes.length;j++) {  
  if (classes[j] != "userAvatar") {  
  if (newClasses) {  
  newClasses += ' '  
  }  
   
  newClasses += classes[j];  
  }  
  }  

  var reflectionHeight = Math.floor(p.height*options['height']);  
  var divHeight = Math.floor(p.height*(1+options['height']));  
   
  var reflectionWidth = p.width;  
   
  if (document.all && !window.opera) {  
  /* Copy original image's classes & styles to div */  
  d.className = newClasses;  
  p.className = 'reflected';  
   
  d.style.cssText = p.style.cssText;  
  p.style.cssText = 'vertical-align: bottom';  
   
  var reflection = document.createElement('img');  
  reflection.src = p.src;  
  reflection.style.width = reflectionWidth+'px';  
   
  reflection.style.marginBottom = "-"+(p.height-reflectionHeight)+'px';  
  reflection.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+(options['opacity']*100)+', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+(options['height']*100)+')';  
   
  d.style.width = reflectionWidth+'px';  
  d.style.height = divHeight+'px';  
  p.parentNode.replaceChild(d, p);  
   
  d.appendChild(p);  
  d.appendChild(reflection);  
  } else {  
  var canvas = document.createElement('canvas');  
  if (canvas.getContext) {  
  /* Copy original image's classes & styles to div */  
  d.className = newClasses;  
  p.className = 'reflected';  
   
  d.style.cssText = p.style.cssText;  
  p.style.cssText = 'vertical-align: bottom';  
   
  var context = canvas.getContext("2d");  
   
  canvas.style.height = reflectionHeight+'px';  
  canvas.style.width = reflectionWidth+'px';  
  canvas.height = reflectionHeight;  
  canvas.width = reflectionWidth;  
   
  d.style.width = reflectionWidth+'px';  
  d.style.height = divHeight+'px';  
  p.parentNode.replaceChild(d, p);  
   
  d.appendChild(p);  
  d.appendChild(canvas);  
   
  context.save();  
   
  context.translate(0,image.height-1);  
  context.scale(1,-1);  
   
  context.drawImage(image, 0, 0, reflectionWidth, image.height);  
   
  context.restore();  
   
  context.globalCompositeOperation = "destination-out";  
  var gradient = context.createLinearGradient(0, 0, 0, reflectionHeight);  
   
  gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");  
  gradient.addColorStop(0, "rgba(255, 255, 255, "+(1-options['opacity'])+")");  
   
  context.fillStyle = gradient;  
  if (navigator.appVersion.indexOf('WebKit') != -1) {  
  context.fill();  
  } else {  
  context.fillRect(0, 0, reflectionWidth, reflectionHeight*2);  
  }  
  }  
  }  
  } catch (e) {  
  }  
  },  
   
  remove : function(image) {  
  if (image.className == "reflected") {  
  image.className = image.parentNode.className;  
  image.parentNode.parentNode.replaceChild(image, image.parentNode);  
  }  
  }  
}  

function addReflections() {  
  var rimages = document.getElementsByClassName('userAvatar');  
  for (i=0;i<rimages.length;i++) {  
  var rheight = null;  
  var ropacity = null;  
   
  var classes = rimages[i].className.split(' ');  
  for (j=0;j<classes.length;j++) {  
  if (classes[j].indexOf("rheight") == 0) {  
  var rheight = classes[j].substring(7)/100;  
  } else if (classes[j].indexOf("ropacity") == 0) {  
  var ropacity = classes[j].substring(8)/100;  
  }  
  }  
   
  Reflection.add(rimages[i], { height: rheight, opacity : ropacity});  
  }  
}  

var previousOnload = window.onload;  
window.onload = function () { if(previousOnload) previousOnload(); addReflections(); }  
</script>

и для теста можно поставить эту картинку

Code
<img class="userAvatar" src="http://allcity.net.ru/styles/prosilver/imageset/site_logo.gif" border="0">

Категория: Скрипты | Добавил: Pallada (06 Января 2010) | Теги: Эффект отражения изображения
Просмотров: 978 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Случайное в ТОПе
Сборки Windows
Большой диск драйверов WINDOWS v.1.0.2 [русский]
Вебмастеру
Скачать бесплатно Набор скриптов №2, в помощь Web мастеру и монеймейкеру.
Клипы
The Black Eyed Peas - Let's Get It Started (Live At Isle Square Malta)
Софт
Windows 7 Drivers x32/x64 (Обновлено 29.10.2009)
Картинки
Denis C. Feliz (Brazil)
Софт
FIAT EPER V.50
Все для мобилы
Funny ringtones-Winter 2009
Софт
Новые Ключи для Антивируса Касперского!(от 09.11.09)
Софт
Xilisoft AVI to DVD Converter 3.0.45.1218 Rus
Клипы
Trillville feat. Lil' Jon & Pastor Troy - Get Sum Crunk In Yo' System
Друзья сайта
  • Интернет магазин, софт, графика
  • Развлекательный портал Farit.net
  • Авто-Сервисный Комплекс "Химиков 2"
  • Качни.NET
  • Обмен ссылками
    Добавление сайта в Каталог ADD WEB

    Обмен ссылками - AddWeb.ru

    Просмотр сайта в Каталог ADD WEB

    раскрутка сайта - Net-Pr.Ru
    раскрутка сайта


    НАЖМИ ЗДЕСЬ, чтобы узнать, как получить
    21 999 посетителей на Ваш сайт. Бесплатно!



    Add to Google




    Thumbnails powered by Thumbshots



    Реклама
    Реклама
    Реклама

    Мировые новости

    Copyright MyCorp 2009
    Скачать софт бесплатно, скачать фильмы бесплатно, скачать музыку бесплатно, скачать обои бесплатно, скачать игры бесплатно, скачать клипы бесплатно, самые новые игры, софт, порно, фильмы, музыка, программы, онлайн фильмы скачать и просмотреть которые можно совершенно бесплатно! Приветствую Вас на Pluta.ru! Наш сайт предоставляет каталоги в которых вы можете скачать фильм, программы скачать бесплатно, скачать бесплатно порно (порно обои), игры бесплатно скачать, музыка скачать бесплатно. Что собой представляет наш портал? Это каталог бесплатной загрузки по ссылкам файлобменников на которых размещены файлы (игры, фильмы, программы, обои, музыка, порнушка) которые вы можете бесплатно скачать. Администрация сайта публикует только те материалы которые можно бесплатно скачать на файлобменниках. И так, как же скачать программы бесплатно? Всё что для вас нужно это ПК на котором установлен windows скачать который вы так же можете у нас на сайте, подключение к интернет и конечно же ссылки с нашего портала. Вы меломан? Вам крупно повезло в разделе Музыка вы можете скачать музыку бесплатно разных направлений, если вам понравилась музыка скачать бесплатно без регистрации её можно перейдя по ссылке в новости. Не один вечерний субботний вечер не обходится без ТВ, но что быть если нечего смотреть? Не проблема, на нашем сайте ссылки на фильмы бесплатно предоставляются, скачать фильм можно на файлобменниках по ссылкам которые у нас размещены в разделе фильмы скачать бесплатно. Для геймеров у нас тоже есть ветка. игры бесплатно скачать можно в соответствующем разделе, наши журналисты предлагают вам игры скачать бесплатно с целью ознакомления без дальнейшего распространения. Вы можете найти разные жанры игры бесплатно скачать с выделенных серверов. Вы уныло смотрите на монитор и не знаете чем украсить его? Скачайте обои на рабочий стол, для взрослых предоставлены порно обои. Что касательно лиц которым исполнилось 18 лет для них тоже есть отдельная ветка где содержатся бесплатное порно там вы можете скачать порно фильмы, на нашем сайте не приветствуется детское порно!