首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery基于单击显示/隐藏项

JQuery基于单击显示/隐藏项
EN

Stack Overflow用户
提问于 2014-03-21 10:05:19
回答 3查看 749关注 0票数 0

我有一个网页在我的网站,将显示在一个地区内的所有公园默认。然后,我希望它只显示特定的项目,基于一个点击的区域,并隐藏所有其他的公园。

到目前为止,我有三个区域,例如区域-1,区域-2和区域-3-然后我希望它只显示这些区域内的公园,所以如果我点击区域的id -1,它只显示区域的类别-1,并隐藏所有其他区域,这对其他区域是一样的。

我最大的问题是,使这一工作,客户将能够增加更多的地区在未来,更多的公园,这些新的地区。

因此,我需要的是JQuery,以获取每个地区的id,将在未来将增加,并对他们与相关的公园。

代码语言:javascript
复制
<div id="side-bar" class="pull-left">
    <h2>Parks By Region</h2>
    <ul class="nav nav-pills nav-stacked">
        <li>
            <a href="#region-1">South East England</a>
        </li>
        <li>
            <a href="#region-2">South West England</a>
        </li>
        <li>
            <a href="#region-3">North Wales</a>
        </li>
    </ul>
</div>
<div id="content">
    <div id="contentWrapper">     

        <h1>REGION TEXT</h1>
        <div class="region-1 pull-left">Park 1</div>
        <div class="region-2 pull-left">Park 2</div>
        <div class="region-3 pull-left">Park 3</div>
    </div>
</div>

这是我的JSFiddle让你知道我在说什么.http://jsfiddle.net/y9CV9/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-21 10:32:18

我建议您使用data-*,因为它对您来说更容易管理:

代码语言:javascript
复制
<div id="side-bar" class="pull-left">
    <h2>Parks By Region</h2>
        <ul class="nav nav-pills nav-stacked">
           <li>
                <a data-region="region-1" href="#region-1">South East England</a>
            </li>
            <li>
               <a data-region="region-2" href="#region-2">South West England</a>
            </li>
            <li>
                <a data-region="region-3" href="#region-3">North Wales</a>
            </li>
        </ul>
</div>

然后你可以使用:

代码语言:javascript
复制
$('#contentWrapper div').hide();
$('#side-bar a').click(function (e) {
    e.preventDefault();
    var region = $(this).attr('data-region');
    $('#contentWrapper div.' + region).show().siblings('div').hide();
});

小提琴演示

票数 1
EN

Stack Overflow用户

发布于 2014-03-21 10:18:24

试一试

代码语言:javascript
复制
<div id="content">
    <div id="contentWrapper">     
        <h1>REGION TEXT</h1>
        <div id="region-1" class="region pull-left">Park 1</div>
        <div id="region-2" class="region pull-left">Park 2</div>
        <div id="region-3" class="region pull-left">Park 3</div>
    </div>
</div>

然后

代码语言:javascript
复制
jQuery(function($){
    var $regions = $('#contentWrapper .region').hide();
    $('#side-bar a').click(function(){
        var $target = $($(this).attr('href')).show();
        $regions.not($target).hide()
    })
})

演示:小提琴

票数 3
EN

Stack Overflow用户

发布于 2014-03-21 10:18:34

首先,您必须首先隐藏您的所有部门,然后您可以更改它的属性点击。

代码语言:javascript
复制
jQuery(function($){
    var $regions = $('#contentWrapper .region').hide(); //Hide all div initially
    $('#side-bar a').click(function(){ //find the anchor tag
        var $target = $($(this).attr('href')).show(); //change the attribute of current div 
        $regions.not($target).hide()
    })
})

演示小提琴

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

https://stackoverflow.com/questions/22555667

复制
相关文章

相似问题

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