Тема: FLAT UI тени
Показать сообщение отдельно
  #5 (permalink)  
Старый 17.01.2015, 19:58
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Что-то мне подсказывает, что твой код в сто раз можно упростить, особенно этот кусок:

if (angle / 45 - Math.floor((angle / 360))*360 <= 1){
      b = Math.sin(angle / 57.2957795)/Math.cos(angle / 57.2957795);
      yg = -Math.floor(b*num);
      xg = num;
    } else if (angle / 45 - Math.floor((angle / 360))*360 <= 2){
      b = Math.cos(angle / 57.2957795)/Math.sin(angle / 57.2957795);
      yg = -num;
      xg = Math.floor(b*num);
    }else if (angle / 45 - Math.floor((angle / 360))*360 <= 3){
      b = Math.cos(angle / 57.2957795)/Math.sin(angle / 57.2957795);
      yg = -num;
      xg = Math.floor(b*num);
    }else if (angle / 45 - Math.floor((angle / 360))*360 <= 4){
       b = Math.sin(angle / 57.2957795)/Math.cos(angle / 57.2957795);
      yg = Math.floor(b*num);
      xg = -num;
    }else if (angle / 45 - Math.floor((angle / 360))*360 <= 5){
      b = Math.sin(angle / 57.2957795)/Math.cos(angle / 57.2957795);
      yg = Math.floor(b*num);
      xg = -num;
    } else if (angle / 45 - Math.floor((angle / 360))*360 <= 6){
      b = Math.cos(angle / 57.2957795)/Math.sin(angle / 57.2957795);
      yg = num;
      xg = -Math.floor(b*num);
    }else if (angle / 45 - Math.floor((angle / 360))*360 <= 7){
      b = Math.cos(angle / 57.2957795)/Math.sin(angle / 57.2957795);
      yg = num;
      xg = -Math.floor(b*num);
    }else if (angle / 45 - Math.floor((angle / 360))*360 <= 8){
       b = Math.sin(angle / 57.2957795)/Math.cos(angle / 57.2957795);
      yg = -Math.floor(b*num);
      xg = num;
    }



Это:
if (type == 1){
    elem.style[style] = getShadowWhAlpha(size,color,angle);
    return getShadowWhAlpha(size,color,angle);
  }
  else{
    elem.style[style] = getShadowNoAlpha(size,color,angle);
  	return getShadowNoAlpha(size,color,angle);
  }


на это:
return elem.style[style] = myMethods['getShadow' + (type == 1 ? 'Wh' : 'No') + 'Alpha'](size, color, angle);


Ответить с цитированием