Так что я пытаюсь получить его так, что каждый раз при нажатии кнопки круг становится шире. Я столкнулся с наиболее своеобразной проблемой, это блок кода, который, когда вы помещаете его в метод alert(), показывает его правильно, однако он показывает как nul, если вы поместите его в переменную, а затем отобразите его. Вот полный код.Проблема с получением настройки стиля из javascript
<!doctype html>
<html>
<head>
<title>CSS Basics</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
#circle {
width:200px;
height:200px;
border-radius:200px;
background-color:red;
}
</style>
</head>
<body>
<div id="circle">asdfasdf</div>
<button id="Saver"> Press me to save your text </button>
<input id="Text" type="text" value="test"/>
<script type="text/javascript">
var divId="circle";
var obj= document.getElementById("Saver");
var it234 = 1;
//THIS IS A COMMENT DOESNT THSI MAKE YOU HAPPY
obj.onclick=function() {
document.getElementById("circle").innerHTML = document.getElementById("Text").value;
it234 = parseInt(document.getElementById("circle").style.width.substring(0,3));
//document.getElementById("circle").style.width="300px";
alert(it234);
}
</script>
</body>
</html>
А вот раздел в процессе
Это должно работать, но не делает
obj.onclick=function() {
document.getElementById("circle").innerHTML = document.getElementById("Text").value;
it234 = parseInt(document.getElementById("circle").style.width.substring(0,3));
//document.getElementById("circle").style.width="300px";
alert(it234);
}
Однако вместо работы он показывает предупреждение с Нан. Как я могу получить ширину этого div, сохраненного в переменную (желательно в формате строки)?
Попробуйте использовать 'element.offsetWidth' за [это] (http://stackoverflow.com/a/294273/1108513). Ответ. – timtim17
Я мог ошибаться здесь, но я уверен, что если у вас нет стиля на элементе, чтобы дать ему фиксированную ширину, тогда стиль. Вам нужно указать начальную ширину, чтобы она имела стиль для ширины. –
Как @ timtim17 с el.offsetWidth работает. – dexhering