ksa,
:dance: :) |
Спасибо большое!
Только какой вариант выбрать? :(
<div class="pdf" style="width: 100px;"></div>
<div class="pdf" style="width: 200px;"></div>
<div class="pdf" style="width: 300px;"></div>
<div class="pdf" style="width: 400px;"></div>
<div class="pdf" style="width: 5px;"></div>
<script>
var o = document.getElementsByClassName('pdf');
var max=0;
for (var i = 0; i < o.length; ++i) {
var val = +o[i].style.width.replace('px', '');
if (val>max) max=val;
}
alert(max);
</script>
Или
<div class="pdf" style="width: 100px;"></div>
<div class="pdf" style="width: 200px;"></div>
<div class="pdf" style="width: 300px;"></div>
<div class="pdf" style="width: 400px;"></div>
<div class="pdf" style="width: 5px;"></div>
<script>
var o = document.getElementsByClassName('pdf');
var max=[].reduce.call(o,function(a,b) {
return Math.max(a, b.scrollWidth)
},0);
alert(max);
</script>
Наверно там, где буковок меньше? :victory: |
cartgen,
самый оптимальный скорее всего будет этот
<div class="pdf" style="width: 100px;"></div>
<div class="pdf" style="width: 200px;"></div>
<div class="pdf" style="width: 300px;"></div>
<div class="pdf" style="width: 400px;"></div>
<div class="pdf" style="width: 5px;"></div>
<script>
var o = document.getElementsByClassName('pdf');
var max=0;
for (var i = 0; i < o.length; ++i) {
var val = o[i].scrollWidth;
if (val>max) max=val;
}
alert(max);
</script>
|
Цитата:
|
laimas,
а можно код? |
Типа такого:
var max = i = n = 0,
a = document.getElementsByClassName("pdf"),
b = [].slice.call(a, Math.floor(a.length/2));
for(; i < b.length; i++) (n = Math.max(a[i].scrollWidth, b[i].scrollWidth)) > max && (max = n);
|
laimas,
спасибо |
А можно просто обходить массив с двух сторон в цикле с итерацией Math.round(array.length/2). Но массивы хранятся в памяти в последовательных ячейках, а значит последовательный обход самый быстрый. В тоже время и ссылка на память с постоянным смешением -1 тоже по идее быстро будет.
В общем фиг его знает, надо тестировать. :) |
Цитата:
<div class="pdf" style="width: 100px;"></div>
<div class="pdf" style="width: 200px;"></div>
<div class="pdf" style="width: 300px;"></div>
<div class="pdf" style="width: 400px;"></div>
<div class="pdf" style="width: 5px;"></div>
<script>
const max = Math.max(...Array.from(document.querySelectorAll('.pdf'), el => el.scrollWidth));
alert(max);
</script>
|
| Часовой пояс GMT +3, время: 22:44. |