Код, который вы написали, пытается присвоить высоту getLectureBlockHeight(times[0].lectures.monday[n]) + px;
, что не имеет смысла и, вероятно, вызывает ошибку в консоли браузера.
Если вы можете вычислить желаемую высоту на своемсервер, я бы порекомендовал сохранить это значение в переменной, а затем использовать следующий код:
<div style="height:'<%= div_height %>px'; width: 150px; margin-right: 25px; background-color: red;">
Если вам нужно для расчета высоты с помощью JS на стороне клиента, то вам придетсявставьте значение с помощью jQuery.
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> //you always need this for jQuery to work! Remember to put this before using any jQuery code
<script>
function getLectureBlockHeight(el){
var result = ((new Date(el[0].end) - new Date(el[0].start))/1000)/60;
result = (result / 15) * 50;
return result;
}
</script>
<% for(n=0; n<times[0].lectures.monday.length; n++){ %>
<div id="<%= times[0].lectures.monday[n].someUniqueId %>" style="width: 150px; margin-right: 25px; background-color: red;">
<h3><%= times[0].lectures.monday[n].title %></h3>
<h3><%= times[0].lectures.monday[n].classroom %></h3>
<h3><%= times[0].lectures.monday[n].start %></h3>
<h3><%= times[0].lectures.monday[n].end %></h3>
</div>
<script>
$('#<%=times[0].lectures.monday[n].someUniqueId%>').css(
{width:getLectureBlockHeight(<%= times[0].lectures.monday[n] %>).toString() + 'px'}
)
</script>
<% } %>
Обратите внимание, что вам нужно будет иметь уникальный идентификатор для каждого объекта в times
.Если вы не можете заставить это работать, дайте мне знать, какие ошибки вы получаете.Надеюсь это поможет!