Пятница, 17.05.2024, 13:12
Меню сайта
    Форма входа
    Категории раздела
    скрипты для ucoz сайта [3099]
    шаблоны для ucoz скачать [2660]
    Иконки групп для форума [25]
    Графика для сайта [1953]
    шаблоны psd для фотошопа [27]
    кисти для фотошопа [39]
    уроки фотошопа на русском языке [4]
    стили для фотошопа [3]
    шрифты для фотошопа cs4 [12]
    Web-master [3058]
    Поиск
    Календарь
    Архив записей
    Наш опрос
    Умеете ли вы писать скрипты для ucoz?
    Всего ответов: 73
    Мини-чат
    200
    Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Главная » 2009 » Апрель » 3 » СКРИПТ: ЗЕРКАЛЬНОЕ ОТРАЖЕНИЕ АВАТАРОК НА ФОРУМЕ!
    20:22
    СКРИПТ: ЗЕРКАЛЬНОЕ ОТРАЖЕНИЕ АВАТАРОК НА ФОРУМЕ!
    ТАК, УСТАНОВКА:

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

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

    после тэга </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 сайта | Просмотров: 999 | Добавил: lors1993 | Рейтинг: 0.0/0
    Всего комментариев: 191 2 »
    19 svop  
    0
    Всё работает. Спс!

    18 mvffsb  
    0
    работает ТОЛЬКО на старой системе укоза, на новой УНОСИТЬСЯ ВЛЕВО!!! angry

    17 igorek  
    0
    Блееенн а как сделаь шоб ава была по середине???

    16 nizam  
    0
    Все прет норма чел biggrin

    15 ILLEGAL  
    0
    у мя аватар в лево уносится((( cry angry

    14 wildpower  
    0
    Всё работает,спс

    13 mvffsb  
    0
    Спасибо! Все прекрасно получилось!!! smile

    12 Lolik  
    0
    ставим посде тега </body> токо он у меня немного разширился неоч сморится а так работает

    11 musat  
    0
    Всё работает отлично!!! Спасибо! biggrin biggrin biggrin

    10 a1ma2  
    0
    Это по-моему было? нет? или я где-то в на другом сайте видел... smile

    1-10 11-19
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]