0

ユーザーが特定の大学機関の講師であるオンライン システムを構築しています。システムの主な機能の 1 つは、ユーザーがインターネット経由で自分のスケジュールを表示できるようにすることです。

私は現在、ユーザーがスケジュールを表示するページを作成しています。値が変更されたときに jquery 関数 (ajax 要求を実行する) をトリガーする選択オプションを作成しています。要求されたページは、現在のページの div に表示されます。

問題は、選択オプションの値を変更しようとすると、ページ全体の上に大きな白い空白が表示されることがあります。毎回ではなくたまにしか発生しないため、何がバグを引き起こすのかわかりません。ページをリロードすると、空白が消えます。

私はどこでも答えを探していましたが、私の問題に合った答えが得られませんでした。

これは空白が表示される前のページです https://lh6.googleusercontent.com/-rb0XXjcpn6w/UPiwjIY92OI/AAAAAAAAABo/BmiDIbZWcxU/s640/before.jpg

空白が表示された時のページです https://lh3.googleusercontent.com/-RZxh2P3Bk0o/UPiwRv5oHHI/AAAAAAAAABc/VIB6LYvPBE4/s640/after.jpg

皆さんが私を助けてくれることを願っています...

これはページのコードです..

<?php
require_once("../includes/initialize.php");

 $adminEmps = employee::find_by_cond("(department = 'ACADEMIC-TEACHING' or department = 'ACADEMIC-NON TEACHING') and emp_status='active' order by lastname asc");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Schedule</title>
</head>
<script type="text/javascript">
function selectEmp(){
$('#here').html("<img src=../Images/gif/loading14.gif' class='three columns     centered'>");
$.post('viewSched.php','id='+$('#selector').val()+'&yr='+$('#yrselect').val(),
    function (response){
      $('#here').html(response);
    });
}
</script>
<body>
<?php include("AdminDropdown.php"); ?>
<div class="row">
 <div class="twelve columns">
<div class="row panel">
    <h2><img src="../Images/Shedule.png" height="100px" width="100px" style="vertical-align:middle"/>
        Schedule
    </h2>
    <dl class="tabs pill">
      <dd class="active"><a href="#simple1">Academic</a></dd>
      <dd><a href="#simple2">Administrative</a></dd>
      <dd class="hide-for-small"><a href="#simple3">OSAS</a></dd>
    </dl>
  </div>
 <ul class="tabs-content">
<li class="active" id="simple1Tab">
<div class="two columns">
  Select Employee 
</div>
<div class="three columns end">
  <select id='selector' onchange="selectEmp()" >
    <option>--Select--</option>
   <?php
    foreach ($adminEmps as $key => $value) {
      echo "<option value={$value['emp_ID']}>{$value['lastName']},     {$value['firstName']} {$value['lastName']}</option>";
    }
   ?>
  </select>
</div>
<div class='two columns'>
</div>
<div class='two columns' style='text-align:right;'>
  Select Year
</div>
<div class='three columns end'>
  <select id='yrselect' onchange="selectEmp()">
    <option>-- Select --</option>
    <?php
      for ($i=2008; $i <= date('Y'); $i++) { 
        $yr = $i + 1;
        echo "<option>{$i}-{$yr}</option>";
      }
    ?>
  </select>
</div>
<br>
<br>
<div class="twelve columns ">
  <div class="nine columns centered">
    <div id='here'>

  </div>
  </div>
</div>

</li>
<li id="simple2Tab"></li>
<li id="simple3Tab">This is simple tab 3s content.</li>
</ul>   

</div>
</div>


<?php include("adminfooter.php"); ?>
</body>
</html>

これはリクエストされたページのコードです。

<?php
require_once('../includes/initialize.php');

    $id = $_POST['id'];
    $yr = $_POST['yr'];
        $info = sched::find_scheds_by_id_yr($id,$yr);
        $display = "<table>
                        <thead>
                        <tr>
                            <th>Day</th>
                            <th>Time Start</th>
                            <th>Time End</th>
                            <th>Room</th>
                            <th>Subject</th>
                        </tr>
                        </thead>
                        <tbody>

                        ";
                    if($info){
        foreach ($info as $key2 => $value2) {
            $display .= "<tr>
                        <td>".$value2['day']."</td>
                        <td> ".$value2['time_start']."</td>
                        <td>{$value2['time_end']}</td>
                        <td>{$value2['room']}</td>
                        <td>{$value2['Subject_description']}</td>
                        </tr>";
        }
    }
            $display.="</tbody>
                    </table>";


?>
<html>
<head><title></title></head>
<body>
    <?php echo $display; ?>
</body>
</html>

ちなみに、これはGoogle Chromeでのみ発生します。

4

1 に答える 1

0

ソース ファイルを見ると、表示される唯一の JavaScript は、 の内容を、タグ#here div内の読み込み中の画像img、または AJAX 呼び出しの結果に変更します。

これだけがdiv変化しているように見えるので、css を調べて、div動的コンテンツ (つまり、コンテンツdivのサイズが変化する ) を正しく処理しているかどうかを確認する必要があります。

それがどのように配置/サイズ設定されているか、およびプロパティをどのように処理しているかを探しoverflowます。

于 2013-01-18T02:57:30.427 に答える