00:04
|| Личные сообщения() | Новые сообщения | Правила форума | Поиск ||
  • Страница 1 из 1
  • 1
Kiber.Pro? > Форум » Скрипты для uCoz » Форум » Скрипт отражения аватар на форуме
Скрипт отражения аватар на форуме
SnakEJkeeДата: Понедельник, 21.06.2010, 12:05 | Сообщение # 1
Сообщений: 182
[ ]
Замечания:
Скрипт для uCoz который создаёт зеркальное отражение аватара на форуме

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

Статистика Форума
Лучшие пользователи
Уважаемые пользователи
Популярные темы
Недавно обновленные темы
KaTacTpoFFa Постов [ 357 ]
HeJIenocmb Постов [ 201 ]
SnakEJkee Постов [ 182 ]
MoN[T]ReY Постов [ 132 ]
Vips Постов [ 99 ]
FJlehko Постов [ 87 ]
Yess Постов [ 75 ]
Rakurs Постов [ 62 ]
g3Lw0w Постов [ 42 ]
Лелик Постов [ 40 ]
Yess Репутация [ 27 ]
KaTacTpoFFa Репутация [ 24 ]
Vips Репутация [ 15 ]
HeJIenocmb Репутация [ 12 ]
SnakEJkee Репутация [ 12 ]
MoN[T]ReY Репутация [ 11 ]
Лелик Репутация [ 10 ]
Al1ve Репутация [ 4 ]
FJlehko Репутация [ 3 ]
spirit Репутация [ 2 ]
до считай до 1000 [ 176 ]
Ассоциации [ 67 ]
Досчитай до 500 [ 54 ]
Дощитай до 100 [ 31 ]
Флудилка [ 21 ]
Регистрация команд [ 18 ]
eba kJIaH4uk 9 cydbI' [ 15 ]
Заявка [ 13 ]
Аватарку [ 12 ]
Что играет в калонках в данное время? [ 10 ]
Вид статей "Экономи... [ 1 ]
Новый топ сайтов!!!(Небы... [ 2 ]
Смотрим тему не заходя в... [ 1 ]
новости игрового мира ан... [ 2 ]
ТОП САЙТОВ [ 1 ]
Сделал ещё новенькую шап... [ 3 ]
Где остановиться в Сочи? [ 0 ]
Выкуп Джанглинг. [ 1 ]
Test, just a test [ 1 ]
С наступающими праздника... [ 1 ]

Сайт оптимизирован под браузер FireFox Mozilla. Opera | SiteMap Forum.