javascript - jQuery 使用 index()

标签 javascript jquery

我很难解释我想要什么,但我会试一试。

好的,这是左侧的 html。

<div></div>
<div></div>
<div></div>
<div></div>

这是右侧输出的内容。

<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block"></div> 

我试图做到这一点,当你点击左边的第一个 div 时,右边的第一个 div 出现,当你点击左边的第二个 div 时,右边的第二个 div 出现,而​​所有其他 div在右边再次隐藏等等。我知道您可以使用 jQuery 中的 .index() 来完成此操作,但我想知道是否可以就如何操作获得一些帮助。谢谢!

最佳答案

是这样的吗?

标记

<div class="left">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
</div>
<div class="right">
    <div class="block">Result 1</div>
    <div class="block">Result 2</div>
    <div class="block">Result 3</div>
    <div class="block">Result 4</div>
</div>

JS

$(function(){
   $('.left > div').on('click', function(){
        //Just show the respective block div based on the clicked index and hide its siblings that are visible.
        $('.block').eq($(this).index()).show().siblings('.block:visible').hide();
    });
});

Demo

加上一点幻灯片效果

$(function () {
    $('.block').eq(0).show();
    $('.left > div').on('click', function () {
        var elemToShow = $('.block').eq($(this).index()); //Get the element to show
        $('.block:visible').stop().slideUp(1000, function () { // slide up the visible block div
            elemToShow.stop().slideDown(1000); // once the animation finishes shidedown the element to show
        });

    });
});

Demo Slide effect

Demo Fade effect

关于javascript - jQuery 使用 index(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17561249/

相关文章:

javascript - addRole 不是函数

javascript - 具有不同 subview 的状态

javascript - 通过 jQuery 中的对象初始值设定项设置数据属性

jquery - 如何检测用户当前在页面的哪一部分,比如在这个页面上?

javascript - 如何从 xmlhttprequest 检索响应? (截图)

javascript - 如何从 HTML 对象获取名称属性

javascript - jQuery Facebox 插件 : Focus the popup appearance

javascript - 如何将下拉菜单更改为下拉菜单

jquery - 使用jquery获取时间选择器

jquery - 当文本在 flash 或 jquery 谷歌地图上滚动时,固定 div 中的文本字体粗细会发生变化,为什么以及如何处理它?