0

我正在帮助我的朋友 Michaela 参加我们的网页设计课程。她做了 HTML,我只更改了几行并添加了一些 div。她希望这样,如果用户单击单选按钮,则会显示相应的 div。她表单的所有 div 一开始都隐藏在“hidden_​​destiny”类中。-- 这将是一系列嵌套的 div,我可能需要稍后更改布局。

这是JsFiddle。这是我的javascript:

if ($('#radio_starwars').is(':checked')){
    $('#clicked_starwars').hide().slideDown('slow');
    $('.hidden_destiny').not('#clicked_starwars').hide().slideUp('slow');
}
else if ($('#radio_avengers').attr('checked', 'true')){}
else if ($('#radio_batman').attr('checked', 'true')){}
else if ($('#radio_xmen').attr('checked', 'true')){}
else if ($('#radio_harryp').attr('checked', 'true')){}
else if ($('#radio_lotr').attr('checked', 'true')){}

[编辑] 更新代码。将 id 标识符添加到代码并更新 JsFiddle 链接。

4

2 回答 2

3

试试这个代码:

$(":radio").change(function(){
  $(".hidden_destiny").hide()//hide divs
  $("#clicked_"+this.id.replace("radio_","")).show()//show div by radio id
})

http://jsfiddle.net/YZ9fh/

于 2013-04-21T20:48:17.053 回答
2
$('.fate').click(function () {
    $('.hidden_destiny').each(function () {
        if ($(this).is(':visible')) {
            $(this).slideUp('slow');
        }
    });
    var id = $(this).val();
    $('#clicked_' + id).slideDown('slow');
});

jsfiddle

于 2013-04-21T20:51:51.890 回答