使用javascript函数后,元素位置在html中发生变化

时间:2013-03-03 05:00:15

标签: php javascript jquery html html5

我有一个代码,我将一次显示三个以上的图表。我使用div标签和表格来分隔每个图表,并将所有图表一个接一个地显示出来。但是当我尝试使用javascript函数来查看一个图表并隐藏其余图表时。图表的位置发生变化。该图表将以不完整的方式显示。 它通常以以下方式显示:http://i47.tinypic.com/or1d91.png 但是当我使用javascript函数时,它显示为:http://i48.tinypic.com/345zkeq.png

我在javascript和html部分包含以下代码:

    <script>
    hideAllDivs = function () {
  $("#uae").hide();
  $("#ksa").hide();
  $("#iran").hide(); 
  };

 handleNewSelection = function () {

 hideAllDivs();

 switch ($(this).val()) {
    case '1':
        $("#ksa").show();
    break;
    case '2':
        $("#uae").show();
    break;
    case '3':
        $("#iran").show();
    break;
 }
 };

 $(document).ready(function() {

 $("#view").change(handleNewSelection);

// Run the event handler once now to ensure everything is as it should be
handleNewSelection.apply($("#view"));

});
</script>
</head>
<body>
<table align="center"><tr><td><select id="view">
<option value="">Overall</option>
<option value="1">KSA</option>
<option value="2">UAE</option>
<option value="3">IRAN</option>
</select>
</td></tr></table>
<div id="country">
<table align="center">
<tr><td style="width:800px;height:500px"><div id="container5" style="min-width: 400px;  height: 400px; margin: 0 auto;margin-top:50px"></div></td>
<td><table style="border: solid thin #000"><th>Country</th><th>Risk Score</th><?php     foreach( $names4 as $n){
                   echo "<tr><td>";
                   echo $n[0];
                   echo "</td><td>";
                   echo $n[1];
                   echo "</td></tr>";}
                   ?></table>
</td></tr>
</table>
</div>
<div id="ksa">
<table align="center">
<tr><td style="width:800px;height:500px"><div id="container2" style="min-width: 400px; height: 400px; margin: 0 auto;margin-top:50px"></div></td>
<td><table style="border: solid thin #000"><th>Username</th><th>Risk Score</th><?php  foreach( $names1 as $n){
                   echo "<tr><td>";
                   echo $n[0];
                   echo "</td><td>";
                   echo $n[1];
                   echo "</td></tr>";}
                   ?></table>
</td></tr>
</table>
</div>
<div id="uae">
<table  align="center">
<tr><td style="width:800px;height:500px"><div id="container3" style="min-width: 400px; height: 400px; margin: 0 auto;margin-top:50px"></div></td>
<td><table style="border: solid thin #000"><th>Username</th><th>Risk Score</th><?php foreach( $names2 as $n){
                   echo "<tr><td>";
                   echo $n[0];
                   echo "</td><td>";
                   echo $n[1];
                   echo "</td></tr>";}
                   ?></table>
</td></tr>
</table>
</div>
<div id="iran">
<table  align="center">
<tr><td style="width:800px;height:500px"><div id="container4" style="min-width: 400px; height: 400px; margin: 0 auto;margin-top:50px"></div></td>
<td><table style="border: solid thin #000"><th>Username</th><th>Risk Score</th><?php  foreach( $names3 as $n){
                   echo "<tr><td>";
                   echo $n[0];
                   echo "</td><td>";
                   echo $n[1];
                   echo "</td></tr>";}
                   ?></table>
</td></tr>
</table>
</div> 
</body>
</html>

1 个答案:

答案 0 :(得分:0)

我相信你的问题是在表格中的div,div =容器5,div容器2,div容器3等等。你给表格宽度为800px然后在你放置一个div给你400 px; ,它是100%不是JAVASCRIPT,它是计算出的css