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, время: 10:56. |