如何多次触发或调用jquery加载函数?

时间:2016-01-03 02:09:59

标签: javascript jquery

我需要一些帮助。我有一段时间在努力解决一些问题。每次我点击一个按钮,我都需要调用jquery加载函数。要触发加载功能,我想我需要刷新该特定div或再次加载该div。

我的目标是:

当我点击按钮时,我想要显示loading-div,我希望.image-container再次加载。我想应该触发jquery加载函数,当.image-container加载时会隐藏load-div。

这是我的代码:

$(".image-container").load(function(){
   $( "#loading-div" ).hide();
});

$("#button").on('click', function(){
   $( "#loading-div" ).show();
   $(".image-container").load("index.php"); // load again div that sholud trigger upper function
});

3 个答案:

答案 0 :(得分:3)

试试这个

$("#button").on('click', function(){
    $( "#loading-div" ).show();
    $(".image-container").load("index.php", function () {
        $( "#loading-div" ).hide();
    });
});

答案 1 :(得分:0)

假设我想连续地将数据从服务器加载到特定的div标签。 我使用setinterval jquery方法。 例如:

setinterval(function(){
$("div1").load("url","data you want to send to your  server");                      
                      },1000); 

注意:加载方法仅适用于'get'方法。在上面的代码中,第二个加载参数是可选的。

答案 2 :(得分:0)

嗯,只是从处理程序中分离出所需的前/后加载逻辑?

function loadSome(el, data) {
   $("#loading-div").show();
   el.load(data, function () {
     $("#loading-div").hide();
   });
}

function loadImage() {
    loadSome($(".image-container"), "index.php");
}

loadImage();
$("#button").on('click', function(){
    loadImage();
});

或更多jQuery - 方式:

jQuery.fn.progressedLoad = function (data, progressElement) {
    $(progressElement).show();
    // add more complex load-progress logic here...

    return this.load(data, function() {
        $(progressElement).hide();
    });
}

...

$(".image-container").progressedLoad(
    {"url": "index.php"}, 
    $("#loading-div")
);