textarea加载时间慢

时间:2014-11-19 22:23:53

标签: javascript php html

使用大量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一次加载一个,以便看起来无缝?

1 个答案:

答案 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);
  });

Creating a textarea with auto-resize