Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Срочно! Нужна помощь по увеличению обьекта.


Автор: Rustam97 25.1.2016, 08:41
Здравствуйте! Есть конус. Вот его исходный код на css
Код

position: absolute;
  top:940px;
  left:450px;
 -webkit-transform: rotate(-90deg);
  width: 0;
  height: 0;
  border-left: 70px solid transparent;
  border-right: 70px solid transparent;
  border-top: 100px solid red;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;

Этот конус привязан к функции расчёта JavaScript
Код

function Calc(){ 
    var a1 = document.getElementById("a1").value; //сохраняем в переменные значения полей формы
    var a2 = document.getElementById("a2").value;
    var a3 = document.getElementById("a3").value;
    var a4 = document.getElementById("a4").value;
    var a5 = document.getElementById("a5").value;
    var a6 = document.getElementById("a6").value;
    var a7 = document.getElementById("a7").value;
    var a8 = document.getElementById("a8").value;
    var a9 = document.getElementById("a9").value;
    var a10 = document.getElementById("a10").value;
    var a11 = document.getElementById("a11").value;
    var a12 = document.getElementById("a12").value;
    var a13 = document.getElementById("a13").value;
    var a14 = document.getElementById("a14").value;
    result = (a1 * a2 * a3 * Math.pow(a4,2) * a5 * a6 * Math.pow(a7,2) * a8) / (a9 * a10 * Math.pow(a11,2) * a12 * a13 * Math.pow(a14,2)); //считаем результат согласно формуле. 
    //Math.pow возводит переменную в степень 2
    document.getElementById("result").innerHTML = '<h1>Jogaby: <b>' + result + '</b></h1>'; //внутрь <div id="result"> выводим результат вычислений

        var getCircle = document.querySelectorAll('.cone');
        for(var i=0; i<getCircle.length; i++) {
        getCircle[i].style.cssText = 'width:'+result+'px;height:'+result+'px';

}

      }

Всё считает прекрасно. всё работает, только одно но.... после расчёта форма конуса меняется. Можно ли сделать так чтобы конус оставался в прежней форме...а не превращался в другую фигуру. То есть если формула расчёт получается 100 то 100px по ширине и длине прибавляется к конусу. Нужно чтобы конус увеличивался только в лево оставаясь при том же месте.

Автор: _zorn_ 5.2.2016, 07:13
Незнаю правильно ли я вас понял, но попробуйте.
Код

getCircle[i].style.cssText = 'width:'+result+'px;height:'+result+'px';

заменить на
Код

getCircle[i].style.borderTop = result+'px';


PS. И в стилях добавьте transform: rotate(-90deg); для браузеров отличных от webkit

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)