Javascript 切换功能不工作

Javascript 切换功能不工作,javascript,toggle,jquery,slidetoggle,Javascript,Toggle,Jquery,Slidetoggle,下面是我用于切换的代码 function toggle_visibility(id) { var e = document.getElementById(id); if(e.style.display == 'block') e.style.display = 'none'; else e.style.display = 'block'; } <div class="issue_button

下面是我用于切换的代码

function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }
    <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();
    });        
});​
它在我的电脑里工作得很好。但是当我在服务器端调用.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>

一些文字

我做错什么了吗?坦白地说,我不知道如何使用live handler编写代码。

试试:

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


既然您说过可以使用jQuery,我建议您使用此替代代码

function toggle_visibility(id) {
    $('#' + id).toggle();
}

既然您说过可以使用jQuery,我建议您使用此替代代码

function toggle_visibility(id) {
    $('#' + id).toggle();
}

下面是用于切换的jquery解决方案

function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }
    <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();
    });        
});​

一些文字

$(函数(){ $(“.issue_按钮a”)。单击(函数(){ $(“#下拉列表1”).slideToggle(); }); });​

更新

我不会使用Live,因为它从1.7开始就被弃用了

代表- http://jsfiddle.net/aJFSy/2/


以下是用于切换的jquery解决方案

function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }
    <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();
    });        
});​

一些文字

$(函数(){ $(“.issue_按钮a”)。单击(函数(){ $(“#下拉列表1”).slideToggle(); }); });​

更新

我不会使用Live,因为它从1.7开始就被弃用了

代表- http://jsfiddle.net/aJFSy/2/


如果样式是隐式的,则该样式不会出现在元素上。请尝试添加一个
返回false在函数末尾,否则单击
将刷新页面,
将恢复到其初始状态,我假设它是隐藏的。您在哪里使用jQuery的
.live()
处理程序?另外,如果您有jQuery,为什么不使用
.toggle()
?如果样式是隐式的,则该样式不会出现在元素上。请尝试添加
返回false在函数末尾,否则单击
将刷新页面,
将恢复到其初始状态,我假设它是隐藏的。您在哪里使用jQuery的
.live()
处理程序?另外,如果您有jQuery,为什么不使用
.toggle()
?请。大括号绝对不会有什么不同。支架绝对不会有什么区别