首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果元素当前未被“滑动”,则为jQuery slideDown

问如果元素当前未被“滑动”,则为jQuery slideDown
EN

Stack Overflow用户
提问于 2011-07-19 17:21:06
回答 1查看 398关注 0票数 0

我有这样的标记:

代码语言:javascript
复制
        <span id="tabPhp" class="infoData">PHP</span>
        <span id="tabJquery" class="infoData">jQuery</span>
        <span id="tabWordpress" class="infoData">WordPress</span>
        <span id="tabCss3" class="infoData">CSS3</span>
        <span id="tabMysql" class="infoData">MySQL</span>
        <div class="infoExpand">
            <p id="infoPhp">PHP</p>
            <p id="infoJquery">jQuery</p>
            <p id="infoWordpress">Wordpress</p>
            <p id="infoCss3">CSS3</p>
            <p id="infoMysql">MySQL</p>
        </div>

和这个jQuery:

代码语言:javascript
复制
$('.infoData').click(function(){
    $('.infoExpand p').hide();
    var id = this.id;
    id = id.replace("tab", "info");
    console.log(id);
    $('.infoExpand, #' + id).slideToggle();
});

默认情况下,div infoExpand设置为display:none,所以我想要发生的是,当用户单击span id tabPHP时,infoExpand和p id infoPhp一起滑下。这很好用,但是当用户点击另一个标签时,它只是滑动当前显示的p。我想让它在当前的标签上滑动,在他们点击的标签上滑动。

这有意义吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-19 17:28:26

你可以这样做(更新):

代码语言:javascript
复制
$('.infoExpand p').hide();
$('.infoData').click(function(){
    var id = this.id;
    id = id.replace("tab", "info");
    var clicked = $('.infoExpand #' + id);
    if (clicked.is(':visible')){
       clicked.slideToggle();
    }else{
       $('.infoExpand p:visible').slideToggle();
         clicked.slideToggle();
    }

});

小提琴在这里:http://jsfiddle.net/35MfY/1/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6744930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档