使用大量textareas时,我的加载时间很长。
<?php
foreach($hold as $value){
$card_key = $value['card_key'];
$card_one = $value['card_one'];
$card_two = $value['card_two'];
$card_three = $value['card_three'];
echo '<li class="row_'.$card_key.'" value="'.$card_key.'">
<p>'.$i.'.</p>
<button type="button" value="'.$card_key.'" tabindex="-1"></button>
<div class="edit_one">
<textarea class="text1" maxlength="1000">'.$card_one.'</textarea>
</div>
<div class="edit_two">
<textarea class="text2" maxlength="1000">'.$card_two.'</textarea>
<textarea class="text3" maxlength="1000">'.$card_three .'</textarea>
</div>
<div style="clear:both;"></div>';
echo '</li>';
$i++;
}
?>
<script type="text/javascript" src="../../scripts/jquery.elastic.source.js"></script>
<script type="text/javascript">
$('.edit_main textarea').elastic();
</script>
当$ hold包含1-10时,加载时间不会太长,但是当它有50左右时加载需要8秒以上。
是否有更快的方式加载多个textareas? 我是否应该使用AJAX一次加载一个,以便看起来无缝?
答案 0 :(得分:1)
找到一个可以解决问题的好答案。
取出弹性材料并将其更换。当存在许多textareas时,弹性可能会导致某些浏览器的加载时间变慢。
function textarea_resize(e){
$(e).css({'height':'auto'}).height(e.scrollHeight);
}
$('textarea').each(function(){
textarea_resize(this);
}).on('input', function(){
textarea_resize(this);
});