虽然动画效果不是最锐利的,但我已经让它表现出了你要的行为,方法是找到父级并隐藏所有兄弟元素。我还不确定为什么直接调用.siblings()
不能像这样将元素向左滑动。
正如其他人提到的,使用类来标识一组项目是正确的方法,而不是通过ID。
更新:
虽然我仍然不确定为什么siblings()
找不到与您通过ID找到的div相邻的兄弟,但我怀疑这与显示/隐藏过程或可能甚至使用滑动动画有关。以下是我建议的jQuery/jQueryUI:
$('a.view-list-item').click(function () {
var divname= this.name;
$("#"+divname).show("slide", { direction: "left" }, 1000);
$("#"+divname).parent().siblings(":visible").hide("slide", { direction: "left" }, 1000);
});
这里是更新版本。
更新:
@jesus.tesh的解决方案有一个非常好的更新
更新:
@erwinjulius的解决方案有一个行为更新。 我改变了DIV的定位,使其更好地运作,使用户能够快速点击链接而不会破坏动画效果。 添加了白色背景和左填充,只是为了更好的效果展示。
<script type="text/javascript">
$(document).ready(function() {
$('a').click(function() {
var divtitle = this.title;
$("#" + divtitle).show("slow").siblings().hide(1000);
});
});
</script>