在另一个函数完成后运行jquery函数

时间:2016-02-06 06:56:13

标签: javascript jquery

我希望在另一个自定义函数完成后执行自定义Jquery函数 我用timer来func2。这不是正确的解决方案。 我怎么写呢?

function fun1() {
    $('#sideNavBox .root.static > li.static').each(function(){
	    if($(this).find('ul').length){
        $(this).addClass('remove');}
	    $('#sideNavBox .root.static > li.remove > a').replaceWith(function(){
	        return $('<span class="additional-background ms-navedit-flyoutArrow">'+$(this).html()+'</span>' );
        });
    });
};

setTimeout(
    function fun2() {
        $('#sideNavBox .root.static > li.father > span').removeClass('additional-background ms-navedit-flyoutArrow');
        $('#sideNavBox .root.static > li.father > span').addClass('static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode'); 
        //do something special
}, 1000);

3 个答案:

答案 0 :(得分:0)

如何定义函数2并在函数1的内部调用它?

function fun1() {
    $('#sideNavBox .root.static > li.static').each(function(){
        if($(this).find('ul').length){
        $(this).addClass('remove');}
        $('#sideNavBox .root.static > li.remove > a').replaceWith(function(){
            return $('<span class="additional-background ms-navedit-flyoutArrow">'+$(this).html()+'</span>' );
        });
    });
   //calling function 2 here
   fun2();
};

答案 1 :(得分:0)

为什么不在fun1的末尾简单地调用fun2?

&#13;
&#13;
function fun2() {
$('#sideNavBox .root.static > li.father > span').removeClass('additional-background ms-navedit-flyoutArrow');
$('#sideNavBox .root.static > li.father > span').addClass('static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode');
//do something special
}


function fun1() {

$('#sideNavBox .root.static > li.static').each(function() {
    if ($(this).find('ul').length) {
        $(this).addClass('remove');
    }
    $('#sideNavBox .root.static > li.remove > a').replaceWith(function() {
        return $('<span class="additional-background ms-navedit-flyoutArrow">' + $(this).html() + '</span>');
    });
});
  
  	fun2();//Call the fun2
}
&#13;
&#13;
&#13;

答案 2 :(得分:0)

你在fun1()

中调用fun2() 像这样

function fun2() {
    $('#sideNavBox .root.static > li.father > span').removeClass('additional-background ms-navedit-flyoutArrow');
    $('#sideNavBox .root.static > li.father > span').addClass('static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode'); 
    //do something special
}

function fun1() {
$('#sideNavBox .root.static > li.static').each(function(){
    if($(this).find('ul').length){
    $(this).addClass('remove');}
    $('#sideNavBox .root.static > li.remove > a').replaceWith(function(){
        return $('<span class="additional-background ms-navedit-flyoutArrow">'+$(this).html()+'</span>' );
    });
});

fun2() ;//Call function 2
}