我是新来的,所以我希望我这样做是对的。
我目前正在开发一个简单的jQuery功能,其中我有不同的选项卡,将水平打开。问题是,我在切换它时遇到了问题。
我使用了一个名为visible的变量;根据元素的状态,它可以是true,也可以是false。这对于一个元素很有效,但是如果我想打开两个元素,我必须先双击将值设为false,然后它才会运行。
你们中有谁能提供更好的解决方案吗?
<script type="text/javascript">
var visible=0;
function getClickedId(clicked_id) {
var selectedId = clicked_id;
$(document).ready(function () {
if (visible ==0) {
$('[name='+selectedId+']').animate({width: 300}, "slow");
$('#Wrapper'+selectedId).animate({width: 325}, "slow");
visible=1;
} else {
$('[name='+selectedId+']').animate({width: 0}, "slow");
$('#Wrapper'+selectedId).animate({width: 25}, "slow");
visible=0;
}
});
}
</script>
(如果我的代码嵌入不正确,很抱歉)
发布于 2012-06-24 02:38:20
尝试:
<script type="text/javascript">
var visible=0;
function getClickedId(clicked_id) {
var selectedId = clicked_id;
if (visible == 0) {
$('[name='+selectedId+']').animate({width: 300}, "slow");
$('#Wrapper'+selectedId).animate({width: 325}, "slow");
visible=1;
} else {
$('[name='+selectedId+']').animate({width: 0}, "slow");
$('#Wrapper'+selectedId).animate({width: 25}, "slow");
visible=0;
}
}
</script>
发布于 2012-06-24 02:50:59
$(document).ready(function () {
var visible=true;
function getClickedId(clicked_id) {
$('[name="'+clicked_id+'"]').animate({width: visible ? 300 : 0}, "slow");
$('#Wrapper'+clicked_id).animate({width: visible ? 325 : 25}, "slow");
visible=!visible;
}
});
FIDDLE
https://stackoverflow.com/questions/11171996
复制相似问题