我有以下脚本。我有3个div显示全部:隐藏;我想使用slideToggle从页面顶部下拉。
<script type="text/javascript">
$(document).ready(function(){
$("#irN").click(function () {
$('#irN_dd').slideToggle();
});
$("#myir").click(function () {
$('#myir_dd').slideToggle();
});
$("#myirmsg").click(function () {
$('#myirmsg_dd').slideToggle();
});
});
</script>
HTML:
<a id="irN">irN</a>
<a id="myir">myir</a>
<a id="myirmsg">myirmsg</a>
这个脚本效果很好。唯一的问题是所有3个都可以同时打开。我只希望1能够在任何给定时间打开。那么......我将如何修改脚本以执行以下操作..
...如果没有打开并且观众点击其中一个ID,它会打开.... ...如果其中一个div处于打开状态且观察者点击另一个id,则会将其打开,然后向下滑动。
提前致谢!
答案 0 :(得分:0)
编辑评论
如果您不想检查标记等,可以使用以下内容来实现您想要的内容:
$("#irN, #myir, #myirmsg").click(function () {
var example = "#" + this.id + "_dd";
$(example).siblings("div[id$=_dd]").slideUp()
.is(":visible")
? $(example).delay(1000).slideToggle()
: $(example).slideToggle();
});
这使你的所有功能都融入了一个简洁的事件(可能看起来更好但我现在太累了,无法想到更好的事情)。