Бесплатный форум: форум поддержки
Добро пожаловать на форум поддержки сервиса Forum2x2 !

Для полноценной работы с форумом,
пожалуйста, войдите на форум под своим логином (если вы уже зарегистрированы) или же зарегистрируйтесь.


С нашей помощью вы можете создать форум,
похожий на этот!
Мы в социальных сетях

Правила форума

для обязательного прочтения!


Внимание! Важная информация для РЕГИСТРАЦИИ на форуме:

Пожалуйста, не регистрируйтесь на этом форуме с электронными адресами mail.ru, bk.ru, inbox.ru, list.ru - вам может не прийти письмо со ссылкой активации!
Вы можете воспользоваться адресами типа yandex.ru, rambler.ru, gmail.com и т.д.
Интересные решения
Быстрый переход к сервисам: j-p-g.net Видео фоторедактор Транслит

Зеркальные аватары

Предыдущая тема Следующая тема Перейти вниз

Зеркальные аватары

Сообщение автор Депрессняк в Сб 15 Май - 15:34

Есть код зеркальных аватар:

Код:
<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>
Но я незнаю куда именно его пихать :( Подскажите.

Депрессняк
 

Мужчина

Сообщения : 144
Возраст : 22
Регистрация : 2008-10-30
Благодарности : 0

Без предупреждений

Вернуться к началу Перейти вниз

Re: Зеркальные аватары

Сообщение автор Irbis в Сб 15 Май - 16:15

В шаблон viewtopic_body в самый низ:
Код:
<script type="text/javascript"> 
var avatars = document.getElementsByTagName("span");
var sizer = 50;
for (i=0;i<avatars.length;i++){
if (avatars[i].className == "postdetails poster-profile"){
avatars[i].getElementsByTagName("img")[0].className="reflect";}
};
/**
 * reflection.js v2.0
 * http://cow.neondragon.net/stuff/reflection/
 * Adapted for Forum2x2 - SiteNull.ru (http://sitenull.ru/)
 * Freely distributable under MIT-style license.
 */
 
/* From prototype.js */
if (!document.myGetElementsByClassName) {
   document.myGetElementsByClassName = 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] != "reflect") {
               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) {
            /* Fix hyperlinks */
                if(p.parentElement.tagName == 'A') {
                   var d = document.createElement('a');
                   d.href = p.parentElement.href;
                } 
                   
            /* 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.display = 'block';
            reflection.style.height = p.height+"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;
               context.rect(0, 0, reflectionWidth, reflectionHeight*2);
               context.fill();
            }
         }
      } 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.myGetElementsByClassName('reflect');
   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>
До изменений работало, счас не знаю

Irbis
 

Мужчина

Сообщения : 583
Возраст : 30
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз

Re: Зеркальные аватары

Сообщение автор Депрессняк в Сб 15 Май - 16:22

Не работает :(

Депрессняк
 

Мужчина

Сообщения : 144
Возраст : 22
Регистрация : 2008-10-30
Благодарности : 0

Без предупреждений

Вернуться к началу Перейти вниз

Re: Зеркальные аватары

Сообщение автор Irbis в Сб 15 Май - 17:01

а движок форума какой?

Irbis
 

Мужчина

Сообщения : 583
Возраст : 30
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз

Re: Зеркальные аватары

Сообщение автор Депрессняк в Ср 21 Июл - 15:13

phpbb 2

Депрессняк
 

Мужчина

Сообщения : 144
Возраст : 22
Регистрация : 2008-10-30
Благодарности : 0

Без предупреждений

Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения