Пусто
18.06.2026
 
| Главная | Форум | Поиск | Фотоальбом | Ваша ссылка | Профиль | Выход |
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Артур  
Отражение аватара на форуме
АртурДата: Понедельник, 27.04.2009, 21:57 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 368
Репутация: 8
Бог сайта и форума За хорошую посещаемость на форуме
Статус: Offline
Награды
За 10 сообщений За 20 сообщений За 30 сообщений За 40 сообщений За 50 Сообщений За 100 Сообщений За 150 Сообщений За 300 Сообщений
Панель управления>управление дизайном>>общий вид форума и между тегами ставим вот этот код:
1 первая часть кода :
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 += ' '   
   }   
    

выглядит вот так:
</p>

2 часть:

Code
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';  


3 часть :
Code
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>

P.S Эти 3 части кода один целы код просто на форуме сообшение такой длины написать нельзя поэтому пришлось разбить код на три части!

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

Статистика форума
Последние темы Читаемые темы Лучшие пользователи Новые пользователи
День пожилых людей! (0)
Кто победит Windows vs Linux (1)
Как скачать бесплатно и не выжидать время! (1)
Лучшие фильмы (1)
Ужасы (1)
Лучшие мультфильмы (1)
Что Вы чаще всего смотрите по телевизору? (2)
Какие фильмы вам нравятся? (1)
КАКУЮ МУЗЫКУ ВЫ СЛУШАЕТЕ? (1)
Игра 2008 года (5)
Нравиться ли вам игра Сталкер чистое небо (8)
S.T.A.L.K.E.R: call of pripyat - прохождение (0)
Анекдоты (49)
Анекдоты.. (13)
Нравиться ли вам игра Сталкер чистое небо (8)
Игра 2008 года (5)
Конкурс (5)
Форма заказа сайта!!! (4)
Что Вы чаще всего смотрите по телевизору? (2)
На Каком уровне сложности вы проходите игры? (2)
Pop-under.ru (2)
Украина!!! (2)

Артур

Катя

Denis

maxeg

RigerCF

Decoy

Гера

Лина)))

SanYOk

Катюшка

oxxxst1s

STOTTbarhah

Gypsublipsy

AstellaLast

Nixirogeaboge

orgasprox

Plonseelottor

Preebraphenna

Infonosax

suehirehimb
Все материалы размещенные на сайте пренадлежат их владельцам и предоставляются исключительно в ознакомительных целях. Администрация ответственности за содержание материала не несет и убытки не возмещает. По истечении 24 часов материал должен быть удален с вашего компьютера. Незаконная реализация карается законами РФ: "Об авторском и смежном праве".
При копировании материала, ссылка на сайт обязательна!