0

我正在尝试编写一个查询(使用 JS、HTML 和 PHP),我尝试在其中展开或折叠 DIV 的内容(动态生成)。我已经成功在JS中编写了DIV展开和折叠查询。它给了我一个问题。当我尝试展开任何位于 Div 1 下方的 div 时,展开的信息仅显示在 DIV 1 中。如何在相应的 Div 中展开?

我正在复制代码的一部分:

JS代码:

function toggle(id) {
  var e = document.getElementById(id);
  if (e.style.display == ''){
    e.style.display = 'none';
  } else {
    e.style.display = '';
  }
}

HTML 代码:

<div class="longDes">
    <p>  
        <br>
        <?php echo $rs['shortDescription'];?>
        <?php $idDiv = $rs['TITLE']; echo $idDiv;?>
        <BR> 
    </p>

    <p>
        <br>
        <a href = "#" onclick = "toggle('<?php echo $idDiv?>')">
               See More information about <?=$rs['TITLE']?></a>
        <br>
        <div id = "<?php echo $idDiv ?>" name = "<?php echo $idDiv ?>" style="display:none">
        <?php //echo "this is Buy Flag ".$rs['buyStatus']?>
        <p>
            <?php echo $rs['description']?>
        </p>
    </div>

你能帮忙吗!?我已经黔驴技穷了!

4

2 回答 2

0

也将 e.style.display == '' 更改为e.style.display == 'block'

e.style.display = '' 到e.style.display = 'block';

   function toggle(id) {
      var e = document.getElementById(id);
      if (e.style.display == 'block'){
        e.style.display = 'none';
      } else {
        e.style.display = 'block';
      }
    }

工作 Jsfiddle:http: //jsfiddle.net/6hdre/

希望对你有帮助!

于 2013-05-29T16:52:35.737 回答
0

在这里使用 Jquery 是一个很好的选择。我相信以下应该做你所追求的:

$(document).ready(function() {
    $(<?php echo $idDiv ?>).slideToggle();
});

这应该给你一个起点。您可以将其合并到外部 JS 文件(即 ext.js)中的普通 JS 函数中。

希望这可以帮助!

于 2013-05-28T21:19:15.037 回答