[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Реклама:
  • Страница 1 из 1
  • 1
Модератор форума: cinemania, sipper2, Flektion  
Форум. Скрипты к UCOZ » Фрилансеры » Скрипты к системе ucoz » Скрипт отражение аватара на форуме
Скрипт отражение аватара на форуме
cinemaniaДата: Среда, 10.12.2008, 16:33 | Сообщение # 1
Admin
Admin
Сообщений: 328
Репутация: [ ]
:-)

Панель управления>управление дизайном>>общий вид форума и между тегами <head></head> ставим вот этот код:

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>
sipper2Дата: Вторник, 30.12.2008, 06:45 | Сообщение # 2
Подполковник
Сообщений: 116
Репутация: [ ]
:-)
surprised Kлac

1.Помог?Став мне +
2.Нашол что искал?Став мне +
3.Нужна помощь?Чтото ищеш?Пишы в ЛС
4.Понравилса материал?Став мне +
7777777Дата: Понедельник, 19.01.2009, 16:19 | Сообщение # 3
Рядовой
Сообщений: 12
Репутация: [ ]
:-)
Этот отражает аватары у того, у кого их нет ???
Или это всем меняет ?...

Добавлено (19.01.2009, 16:19)
---------------------------------------------
Мля ток доперло, что тут тема про отражение ))))))))))))))))))))

Форум. Скрипты к UCOZ » Фрилансеры » Скрипты к системе ucoz » Скрипт отражение аватара на форуме
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Последние темы Читаемые темы Лучшие пользователи Новые пользователи

cTapu4ok

(13)

cinemania

(328)

falkon2

(125)

sipper2

(116)

v1rus

(59)

Proffesop

(39)

uzdechko

(39)

LOX

(36)

Hranitel

(28)

cTapu4ok

(25)

qwertysproject

(23)

Зарег. на сайте
Всего: 2052
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
Из них
Администраторов: 1
Модераторов: 3
Проверенных: 3
Обычных юзеров: 2044
Из них
Парней: 1758
Девушек: 294

Лучшие фильмы | Уроки Adobe Photoshop | Шаблоны для uCoz | Онлайн-TV | Кнопки для сайта UCOZ | Иконки для сайтов UCOZ | Скрипты для uCoz