1

私は小さな jQuery 要素に取り組んでおり、Stackoverflow と google の助けを借りてほぼ完了しましたが、理解できない小さな問題があります。CSSで解決しようとしましたが、うまくいきませんでした。

プロジェクト用のjsFiddleがあります:http://jsfiddle.net/PcWjA/2/

すべてが正常に機能し、加算/減算ボタンが機能し、アクティブなクラスがスパンを通過します。しかし、私がまだ見逃しているのは、7番にいるときに+ボタンを押して8になると、ulアイテムを表示したいということです。7 まで下げると、ul アイテムは再び非表示になります。

私が言ったように、クラスを追加/削除するなど、いくつかのCSSソリューションを試しましたが、うまくいかないようです。それで、クラス「spanval_active」がスパンクラス「more」にあるときに表示される非表示のulを作成することは可能でしょうか。

4

2 に答える 2

2

これが必要な場合は、ご覧ください:http://jsfiddle.net/PcWjA/3/

説明するために:現在アクティブな要素(hour変数に格納されている)をすでに取得しているため、現在アクティブな要素が7より大きいか等しいかを確認する必要があります。それが高い場合はリストを表示する必要があり、リストでjQueryメソッドを呼び出してそれを行い、.show()低い場合はリストを非表示にします.hide()

    if (hour > 7) {
        $('.more .hour_dropdown').show();
    } else {
        $('.more .hour_dropdown').hide();
    }
于 2012-08-07T15:00:01.203 に答える
0

Try changing your update_hour function to the following:

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

于 2012-08-07T15:05:13.127 に答える