2

重複の可能性:
条件がfalseの場合、Jqueryはデフォルトを防止します

私はこのコードを持っています、それはうまく動いていますが、私はそれを動的にしたいです。

$(".nav a").click(function () {     
    var getid = $(this).attr('id');
    $("#background-wrapper").fadeOut("slow");
    $("#page_box").fadeOut("slow");         
    $("header").fadeOut("slow");
    $("footer").fadeOut("slow", function () {
        window.location = getid+".php";
    });
});

hrefを使用して指示する前に、最初にフェードアウトを実行したいと思います。

私が欲しいのはこれが最初です

$(".nav a").click(function () {     
    var getid = $(this).attr('id');
    $("#background-wrapper").fadeOut("slow");
    $("#page_box").fadeOut("slow"); 
    $("header").fadeOut("slow");
    $("footer").fadeOut("slow");
});

その後、これをトリガーします

.nav a = href = "link"
4

4 に答える 4

3

最初に使用event.preventDefault()してリンクの動作を停止し、次に手動でユーザーをリダイレクトする必要があります。これを試して:

$(".nav a").click(function (e) {     
    e.preventDefault();

    var getid = $(this).attr('id');
    $("#background-wrapper").fadeOut("slow");
    $("#page_box").fadeOut("slow");         
    $("header").fadeOut("slow");
    $("footer").fadeOut("slow", function () {
        location.assign = getid + ".php";
    });
});
于 2012-09-06T07:56:53.350 に答える
1

これを試して:

$(".nav a").click(function (e) {     

    e.preventDefault(); /*  If this method is called, the default action of the event will not be triggered. e.g clicked anchors will not take the browser to a new URL */

    var pageUrl = this.id + ".php";

    $("#background-wrapper").fadeOut("slow");
    $("#page_box").fadeOut("slow"); 
    $("header").fadeOut("slow");
    $("footer").fadeOut("slow", function () {
        window.location.replace(pageUrl);
    });

});
于 2012-09-06T07:59:30.310 に答える
0

おそらく、次のことがうまくいくでしょうか?

$(".nav a").click(function (e) {     
    e.preventDefault();
    var pageUri = $(this).attr('id') + '.php';
    $("#background-wrapper, #page_box, header, footer").fadeOut('slow', function () {
        window.replace(pageUri)
    });
}
于 2012-09-06T08:02:55.923 に答える
0

これを試してください:

$(".nav a").click(function (e) {   
    e.preventDefault();
    var $ele = $(this);
    $("#background-wrapper, #page_box, header, footer").fadeOut("slow", function () {
        window.location = $ele.attr('id')+".php";
    });
});
于 2012-09-06T08:01:15.597 に答える