jQuery, передающий вызов функции до другой функции и порядка выполнения

Вы могли использовать SWT для Вашего GUI. Его управление Браузером позволяет Вам встраивать IE, Mozilla или Safari (в зависимости от платформы, которую Вы выполняете в) с небольшой болью.

5
задан DA. 12 November 2009 в 23:38
поделиться

4 ответа

Вы можете отложить выполнение, передав функцию и вызвав ее позже.

triggerAnimation(listItem, function () {
   toggleToggleRadioListItem(listItem)
});


function triggerAnimation(listItem,passThruFunction){
    listItem.find(".inlineLoading").show();
// pause and then call the toggle function
    $("body").animate({opacity: 1}, 1000, 
    function(){
        alert("a");
        passThruFunction();
    }
    );  
}

function toggleToggleRadioListItem(listItem) {
    alert("b");
};
6
ответ дан 13 December 2019 в 22:10
поделиться

Потому что вы вызываете toggleToggleRadioListItem (listItem) , когда вызываете triggerAnimation (listItem, toggleToggleRadioListItem (listItem)); , а затем запускаете , а затем запускаете его (listItem) первый.

1
ответ дан 13 December 2019 в 22:10
поделиться

Что ж, вы могли бы вместо этого передать ссылку на функцию и массив параметров для запуска анимации, которые затем передаются в passThruFunction при выполнении. В Javascript то, что вы передаете функции, всегда будет оцениваться до того, как код функции будет фактически выполнен, поэтому вы сначала получите предупреждение («b»). Это называется оценкой занятости [параметров функции], кстати.

2
ответ дан 13 December 2019 в 22:10
поделиться

Ответ Эдьюффи - это простейшая из возможных вещей, которая может сработать и принесет удовольствие. Если вы хотите чего-то более хардкорного, незаметное чтение частичного применения может дать вам еще один метод, который можно добавить в ваш набор инструментов.

1
ответ дан 13 December 2019 в 22:10
поделиться
Другие вопросы по тегам:

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