Понедельник, 22.12.2025, 06:20

Реклама
Реклама
Реклама
PoRtAl-PuMa , все найдете сдесь , portal-puma.ucoz.ru

  • Страница 1 из 1
  • 1
Модератор форума: npofeccop  
Скрипт отражение Аватара на форуме
ace_94Дата: Среда, 17.03.2010, 12:09 | Сообщение # 1

Пользователь

Сообщений: 47
Награды: 0

[ 50 ]

Скрипт отражение Аватара на форуме

Панель управления>управление дизайном>>общий вид форума и между тегами 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>


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

Статистика Форума
Последние обновленные темы Самые популярные темы Самые активные Новые участники

Разделитель между форумами.

(14)

dgfhbdbndfn

(0)

Сейчас Играю....

(6)

Для начинающих игроков (Пистолеты)

(1)

анегдоты

(4)

Считаем до 1000

(28)

Мониторинг

(20)

Считаем до 1000

(28)

Мониторинг

(20)

Авто уменьшение изображений в файлах

(15)

Разделитель между форумами.

(14)

Баннерообмен с West-Zona.com

(13)

Страница пользователя

(12)

Вид новостей с работающей рамкой (WaterMark)

(12)

npofeccop

(220)

BotsMan

(50)

ace_94

(47)

solo^

(38)

papparazimd

(28)

rpgdomru

(20)

onenewstw

(20)

Testereaz

(22.12.2025)

Furrionpaa

(21.12.2025)

yeseniaxd8

(21.12.2025)

Dysonphw

(20.12.2025)

Businessoyz

(19.12.2025)

ninaim1

(18.12.2025)

Jatchegreect

(17.12.2025)

cstrike-net.ru © Все права защищены.