【发布时间】:2011-05-22 02:11:14
【问题描述】:
如何在 jquery 中编写我自己的切换函数。
$(函数(){ $('#dv').bind('click',function(){ $("#toTgl:hidden").show(); }); $('#dv').trigger('click'); }); 脚本>Toggle 正文>改变这个
(显示和隐藏)都被触发,我
【问题讨论】:
如何在 jquery 中编写我自己的切换函数。
$(函数(){ $('#dv').bind('click',function(){ $("#toTgl:hidden").show(); }); $('#dv').trigger('click'); }); 脚本>Toggle 正文>改变这个
(显示和隐藏)都被触发,我
【问题讨论】:
为什么不使用内置的jQuery toggle function?
【讨论】:
$('#dv').bind('click',function(){ // do whatever you like });
您添加了两个冲突的点击事件。使用显示和隐藏元素的单个事件处理程序。 (并且不要使用已弃用的center 标签。)
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('#dv').click(function(){
$("#toTgl").toggle();
});
});
</script>
<style type="text/css">
#dv { text-align: center; }
#toTgl { text-align: center; }
</style>
</head>
<body>
<div id="dv">Toggle</div>
<br/>
<div id="toTgl">Change This</div>
</body>
【讨论】:
if:var x = $('#toTgl:hidden');var y = $('#toTgl').not(x);x.show();y.hide();
这是我带来的,并且工作正常。
<div id='dv' onclick="alert('test')">Toggle</div>
<br/>
<div id='toTgl'>Change This</div>
<script>
function toggle(){
$('#toTgl')[$('#toTgl').is(':hidden')?'show':'hide']();
}
function toggleClick(ele){
$(ele).removeAttr('onclick');
$(ele).bind('click', function(ev){
toggle();
});
}
function z(id){ return document.getElementById(id);}
toggleClick(z('dv'));
</script>
【讨论】: