JQuery Показать значок с переключателем событий

0

У меня есть собственный toogle script для show/hide содержимого.

В настоящее время, когда вы нажимаете сначала, а затем второй текст, механизм значка работает идеально. но когда вы нажимаете первый текст и снова нажимаете первый механизм значка, он не работает.

Мой JS-код:

$(document).ready(function() {

    $('.togglelink').on('click', function(e) {
        e.preventDefault();
        var elem = $(this).next('.toggle');

        $('.toggle').not(elem).hide('fast');
        elem.slideToggle('fast');

        if (elem.is(':visible')) {
            var openslide = $(this).attr("id");

            if (openslide == 'slideNavToggle') {
                $("#where-slide-down").hide();
                $("#where-slide-up").show();

                $("#inspiration-slide-down").show();
                $("#inspiration-slide-up").hide();
                $("#need-slide-down").show();
                $("#need-slide-up").hide();
            }

            if (openslide == 'slideInspToggle') {
                $("#inspiration-slide-down").hide();
                $("#inspiration-slide-up").show();

                $("#where-slide-down").show();
                $("#where-slide-up").hide();
                $("#need-slide-down").show();
                $("#need-slide-up").hide();
            }

            if (openslide == 'slideToggle') {
                $("#need-slide-down").hide();
                $("#need-slide-up").show();

                $("#where-slide-down").show();
                $("#where-slide-up").hide();
                $("#inspiration-slide-down").show();
                $("#inspiration-slide-up").hide();
            }

        }
    });
    $('.toggle').hide('fast');
});

Моя скрипка: пример

Любые идеи или предложения? Благодарю.

  • 0
    Вы имеете в виду иконку не восстановлена?
  • 0
    да, нажмите, чтобы Choose your next destination и снова нажмите, и вы увидите, что направление значков не работает. :( Я не знаю, как сделать эту операцию.
Показать ещё 2 комментария
Теги:
slidetoggle

1 ответ

1
Лучший ответ

Здесь вы идете: вам просто нужно перейти от show/hide to toggle. скрипка

$('.togglelink').on('click', function (e) {
e.preventDefault();
var elem = $(this).next('.toggle');

$('.toggle').not(elem).hide('fast');
elem.slideToggle('fast');

if (elem.is(':visible')) {
    var openslide = $(this).attr("id");

    if (openslide == 'slideNavToggle') {
        $("#where-slide-down").toggle();
        $("#where-slide-up").toggle();

        $("#inspiration-slide-down").show();
        $("#inspiration-slide-up").hide();
        $("#need-slide-down").show();
        $("#need-slide-up").hide();
    }

    if (openslide == 'slideInspToggle') {
        $("#inspiration-slide-down").toggle();
        $("#inspiration-slide-up").toggle();

        $("#where-slide-down").show();
        $("#where-slide-up").hide();
        $("#need-slide-down").show();
        $("#need-slide-up").hide();
    }

    if (openslide == 'slideToggle') {
        $("#need-slide-down").toggle();
        $("#need-slide-up").toggle();

        $("#where-slide-down").show();
        $("#where-slide-up").hide();
        $("#inspiration-slide-down").show();
        $("#inspiration-slide-up").hide();
    }

}
});

$('.toggle').hide('fast');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню