1

以下是我用于切换的代码。

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

它在我的电脑上运行良好。但是当我在调用 .asp 页面的服务器端使用它时,它就不起作用了。我知道我必须使用 .live() 处理程序。我用jquery slidetoggle试过了。但它不工作。以下是html代码

<div class="issue_button">
<a align="center" href="#" onclick="toggle_visibility('dropdown1');">Link</a></div>
<div id="dropdown1"> <p>Some text</p> </div>

难道我做错了什么?坦率地说,我不知道如何使用实时处理程序编写代码。

4

3 回答 3

4

既然你说你可以使用 jQuery,我建议你这个替代代码

function toggle_visibility(id) {
    $('#' + id).toggle();
}
于 2012-08-28T15:30:27.587 回答
1

这是用于切换的 jquery 解决方案。

    <div class="issue_button">
        <a align="center" href="#">Link</a>
    </div>
    <div id="dropdown1"> <p>Some text</p> </div>

$(function () {
    $(".issue_button a").click(function () {
        $("#dropdown1").slideToggle();
    });        
});​

​</p>

http://jsfiddle.net/aJFSy/1/

更新

我不会使用 Live,因为它自 1.7 以来已被弃用

代表 - http://api.jquery.com/delegate/ http://jsfiddle.net/aJFSy/2/

或者

http://api.jquery.com/on/

于 2012-08-28T15:31:00.753 回答
-4

尝试:

function toggle_visibility(id) { 
  var e = document.getElementById(id); 
  if(e.style.display == 'block'){
    e.style.display = 'none'; 
  }else{ 
    e.style.display = 'block';
  }
}
于 2012-08-28T15:24:40.617 回答