当class在span中时,jquery显示ul

时间:2012-08-07 14:56:15

标签: jquery html-lists html

我正在研究一个小的jQuery元素,我在Stackoverflow和google的帮助下完成了很多工作,但是有一个小问题,我似乎无法弄明白。试图用CSS解决它,但这并没有去任何地方。

我有项目的jsFiddle:http://jsfiddle.net/PcWjA/2/

一切正常,加/减按钮起作用,活动类贯穿跨度。但是我仍然缺少的是,当你在数字7上然后按+按钮使它变为8我希望它显示ul项目。当你下到7时,ul项会再次被隐藏。

就像我说的,我尝试了一些CSS解决方案,添加类/删除类等,但这似乎不起作用。所以我在想,当“spanval_active”类在span类“more”中时,是否可以显示隐藏的ul。

2 个答案:

答案 0 :(得分:2)

看一下,如果这是你想要的:http://jsfiddle.net/PcWjA/3/

所以解释一下: 您已经了解当前活动的元素(存储在hour变量),因此我们需要检查当前活动元素是否高于7或更低等于。如果它更高,那么我们需要显示列表,我们通过调用列表中的jQuery方法.show()来实现,如果它更低,我们会隐藏列表.hide()

    if (hour > 7) {
        $('.more .hour_dropdown').show();
    } else {
        $('.more .hour_dropdown').hide();
    }

答案 1 :(得分:0)

尝试将update_hour功能更改为以下内容:

function update_hour()
{
    if (hour == 7) {
        $(".hour_dropdown").fadeOut(200); // use hide() for no animations
    }
    else if (hour == 8) {
        $(".hour_dropdown").fadeIn(200); // use show() for no animations
    }
    $('.spanval').removeClass('spanval_active');

    $('.spanval').eq( hour - 1 ).addClass('spanval_active');

    $('#hourvalue').val( hour );
}

jsfiddle