3

我正在使用以下脚本在按钮单击时显示/隐藏 div

function showHide(divID){
if (document.getElementById(divID).style.display == "none") {
    $('#'+divID).fadeIn(3000);

} else {
    $('#'+divID).fadeOut(3000);
}
}

这是我的 HTML:

<button onClick="showHide('hideDiv',this.id)" type="button">English</button>
<button onClick="showHide('hideDiv',this.id)" type="button">Math</button>
<button onClick="showHide('hideDiv',this.id)" type="button">French</button>

并使用单个 div 在单击时显示按钮的内容

<div id="hideDiv" style="display:none;">
    <p>A painting workshop in the early Renaissance probably resembled</p>
</div>

当我点击英文后的数学时,内容会隐藏,再点击一次,内容会再次显示。但是,我想在用户单击任何按钮时显示内容,我想在这里隐藏“隐藏”属性,以便用户可以看到他单击的任何按钮的内容。

这是小提琴链接http://jsfiddle.net/ytyAd/

4

3 回答 3

1

这就是我认为您正在寻找的... http://jsfiddle.net/ytyAd/10/

JS 把它放在 $(document).ready() 中:

$("button.showHide").click( function() {
    var content = $(this).text();
    $("#hideDiv > p").hide("slow");
    $("#hideDiv #"+content).show("slow");
});

HTML:

<button class="showHide" type="button">English</button>
<button class="showHide" type="button">Math</button>
<button class="showHide" type="button">French</button>

<div id="hideDiv">
    <p id="English" style="display:none;">english stuff</p>
    <p id="Math" style="display:none;">math stuff</p>
    <p id="French" style="display:none;">french stuff</p>
</div>

当然,您可以使用它(不同的动画、回调等)以使其适合您的上下文

于 2013-04-08T13:28:15.587 回答
0

HTML:

<div class="buttons">
<button id="engbutton" class="button" type="button">English</button>
<button id="mathbutton" class="button" type="button">Math</button>
<button id="frenchbutton" class="button" type="button">French</button>
</div>
<div class="contents">    
<div id="engbuttonDiv" style="display:none;" class="ContentDiv">
    <p>This is English Div</p>
</div>
<div id="mathbuttonDiv" style="display:none;" class="ContentDiv">
    <p>This is Maths Div</p>
</div>
<div id="frenchbuttonDiv" style="display:none;" class="ContentDiv">
    <p>This is French Div</p>
</div>
</div>

JS:

 $('.button').on('click', function(){
        $('.contents').find('div').hide();
        var getMessageDiv = '#'+$(this).attr('id')+"Div";
        if ($(getMessageDiv).is(':visible'))
        $(getMessageDiv).fadeOut();
         else 
        $(getMessageDiv).fadeIn();
    })

现场演示

于 2013-04-08T13:30:42.833 回答
0

你需要这样的东西吗?

现场演示在这里

HTML

<button id="engbutton" class="button" type="button">English</button>
<button id="mathbutton" class="button" type="button">Math</button>
<button id="frenchbutton" class="button" type="button">French</button>
<div id="engbuttonDiv" style="display:none;" class="ContentDiv">
    <p>This is English Div</p>
</div>
<div id="mathbuttonDiv" style="display:none;" class="ContentDiv">
    <p>This is Maths Div</p>
</div>
<div id="frenchbuttonDiv" style="display:none;" class="ContentDiv">
    <p>This is French Div</p>
</div>

CSS

.ContentDiv
{
    height:50px;
    width:200px;
    background:green;
}

jQuery

  $(".button").click(function(){
        $(".ContentDiv").hide();
        var divid = $(this).attr("id") + "Div";
        if($("#"+divid).css('display') == 'none')
        {
            $("#"+divid).fadeIn(3000);
        }
        else
        {
            $("#"+divid).fadeOut(3000);
        }  
    });
于 2013-04-08T13:16:19.267 回答