Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript textarea加载时间慢_Javascript_Php_Html - Fatal编程技术网

Javascript textarea加载时间慢

Javascript textarea加载时间慢,javascript,php,html,Javascript,Php,Html,在使用大量文本区域时,我的加载时间很长 <?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 '<l

在使用大量文本区域时,我的加载时间很长

    <?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>

$('.edit_main textarea').elastic();
当$hold包含1-10时,加载并不需要那么长的时间,但当它有50秒左右时,加载需要8秒以上的时间

有没有更快的方法加载多个文本区域?
我是否应该改用AJAX一次加载一个,这样看起来就可以无缝了?

找到了一个很好的答案,可以解决您的问题

取出橡皮筋,换上这个。当有许多文本区域时,Elastic会导致某些浏览器的加载时间变慢

  function textarea_resize(e){
    $(e).css({'height':'auto'}).height(e.scrollHeight);
  }
  $('textarea').each(function(){
    textarea_resize(this);
  }).on('input', function(){
    textarea_resize(this);
  });

什么定义了
$hold
?@JayBlanchard它是一个关联数组。我注释掉了textarea框,它运行起来很平稳。所以问题就出在这里。为什么要创建所有的
$card.****
变量,为什么不直接使用
$value
数组?这不会解决你的问题,只是我不明白。@lolka_bolka让事情更有条理。有问题吗?没有,只是没必要。您以后不会使用它们,也不会操纵它们,因此它们只是在浪费您的内存。