显示后的jquery加载函数

时间:2014-03-27 15:38:14

标签: javascript jquery

我试图在给定的DIV显示后运行一个函数。

  $(document).ready(function () {
      $("#next").click(function () {
          $("#nextwindow").show()
      });
  });


  $(document).ready(function () {
      $("#pagetitle-up").click(function () {
          $.post('maindatabase.php', {
                  page: <? php echo $_GET[p]; ?> , sort: 1
              },
              function (data) {
                  var printthisline = "";
                  var data = $.parseJSON(data);
                  for (var i in data.results) {
                      printthisline += " <a href='main.php?p=" + data.results[i].id + "'> " + data.results[i].pagetitle + "</a>" + " | " + " <br> ";
                  }
                  document.getElementById("nexttable").innerHTML = printthisline;
              });
      });
  });

当尝试将它们绑定在一起以便该函数仅在初始DIV显示时运行,它将停止工作。有什么建议吗?

$(document).ready(function () {
    $("#next").click(function () {
        $("#nextwindow").show()
    });
});


$(document).ready(function () {
    $("#nextwindow").on('show', function () {
        $.post('maindatabase.php', {
                page: <? php echo $_GET[p]; ?> , sort: 1
            },
            function (data) {
                var printthisline = "";
                var data = $.parseJSON(data);
                for (var i in data.results) {
                    printthisline += " <a href='main.php?p=" + data.results[i].id + "'> " + data.results[i].pagetitle + "</a>" + " | " + " <br> ";
                }
                document.getElementById("nexttable").innerHTML = printthisline;
            });
    });
});

谢谢

1 个答案:

答案 0 :(得分:1)

您可以手动触发自定义show事件:

DEMO jsFiddle

$(document).ready(function () {
    $("#next").click(function () {
        $("#nextwindow").show().trigger('show');
    });
});

或者使用回调:

DEMO jsFiddle

$("#nextwindow").show(0,myCallback);

function myCallback(){
      $.post(...);
}

那就是说,为什么不在#nextwindow点击???上调用POST请求?