состояние Переключателя jQuery

Вторая функция неверна из-за ее типа: Tree a -> Tree b, тогда как foldTree ожидает, что она будет a -> b, где a взято из Tree a. b требуется mapTree, чтобы быть Tree b, поэтому третий аргумент для foldTree должен иметь тип a -> Tree b.

Итак, самая простая фиксированная версия вашего transFunc:

mapTree :: forall a b. (a -> b) -> Tree a -> Tree b
mapTree f tree = foldTree Node transFunc tree 
  where transFunc :: a -> Tree b
        transFunc x = Leaf (f x)

Обратите внимание, что вам нужно включить расширение ScopedTypeVariables для его компиляции.

И эта версия transFunc является эквивалентом вашего рабочего решения: (Leaf . f)

16
задан neezer 28 October 2008 в 18:50
поделиться

3 ответа

jQuery имеет два .toggle() методы:

.toggle()

Переключатели каждый набор подобранных элементов. Если их показывают, переключатель делает их скрытыми. Если они скрыты, переключатель делает их показанными.

.toggle(even, odd)

Переключатель между двумя вызовами функции любой щелчок.

В этом случае Вы хотите первый. Что-то вроде этого должно добиться цели:

$("a").click(function() {
    $("#theForm").toggle();
});
20
ответ дан 30 November 2019 в 15:16
поделиться

Ahh, это - простые вещи в жизни...

я использовал последнее определение toggle(even,odd);, но я имел, забыл включать в мое исходное описание проблемы, что моя вторая функция переключателя не только скрывала форму, но уничтожала ее также.

function A: Ajax загружается, форма в добавленное отделение Скрывают и уничтожают отделение на успешном сообщении формы.

function B: Уничтожьте отделение

, Вы оба напомнили мне, что toggle(); только соглашения со свойством CSS, и как таковой это не является подходящим к этой задаче. Но тогда я понял, что излишне перезагружал форму на каждом "нечетном" состоянии путем уничтожения его, когда я был сделан, таким образом, я в конечном счете возвратился к этому:

$("link").click(function() {
    if ($(this).siblings(".form-div").length == 0) {
        // form is not loaded; load and show the form; hide when done
    }
    else {
        $(this).siblings(".form-div").toggle();
    }
});

..., который делает то, что я хочу, чтобы он сделал. Спасибо за разъяснение мне [приблизительно 115]!

2
ответ дан 30 November 2019 в 15:16
поделиться

Вот что я использовал:

$(document).ready(function() {
    $('#listing_position').click(function() {

    var div_form = $('#listing_position_input');
        if (div_form.hasClass('hide')) {
           div_form.removeClass('hide');
        } else {
          div_form.addClass('hide');
        }
    });  
});
5
ответ дан 30 November 2019 в 15:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: