Все для CS сайтов и системы uCoz

  • Страница 1 из 1
  • 1
Модератор форума: St1f  
Форум » Скрипты для uCoz » Форум » Зеркальное отражение аватарок на форуме
Зеркальное отражение аватарок на форуме
HydR0Дата: Пятница, 23.04.2010, 14:26 | Сообщение # 1

Сообщений: 25

[ 0 ]


Награды:
Для тех кто хочет чтобы у них был эффект зеркального отражения аватарок на форуме))))

1. ЗАХОДИМ В ПАНЕЛЬ УПРАВЛЕНИЯ, УПРАВЛЕНИЕ ДИЗАЙНОМ, ФОРУМ, ОБЩИЙ ВИД СТРАНИЦ ФОРУМА

после тэга

Code
</tbody>

ставим
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>
Форум » Скрипты для uCoz » Форум » Зеркальное отражение аватарок на форуме
  • Страница 1 из 1
  • 1
Поиск:

Статистика Форума
Новые пользователи Лучшие пользователи Читаемые темы
NoName
[26.06.2022|14:19]

Rudy
[15.11.2017|12:10]

Молой
[14.09.2014|11:32]

Meetwoor
[24.11.2013|16:16]

denhack
[30.09.2013|01:11]

csskachat
[12.04.2013|11:48]

DoG
[19.03.2013|18:06]

Onlines
[17.01.2013|14:45]

Tus
[161]

St1f
[89]

vel1k1y_ZADROTOOO
[31]

HydR0
[25]

PeR4iGGG
[17]

Lookflaco
[13]

den
[12]

To4kA
[7]

[1]>Игра в слова [14]

[2]>заявка [12]

[3]>PR@ zadroto v team [8]

[4]>fustiz0r~ [6]

[5]>et0 zayava! [6]

[6]>заява [6]

[7]>Заявка [5]

[8]>Заявка на вступление от ТимА [5]

top.location.href