0

コンテンツがフェードアウトした後に適用されるように、リンク属性を遅らせようとしています。ただし、タイムアウト機能を追加しても機能しません。何か案は?

$(function () {
    $(".layout a").click(function () {
        setTimeout(function () { $("link:first").attr("href", $(this).attr('rel')); }, 500)
    $.cookie("Layout", $(this).attr('name'), { expires: 365, path: '/media', secure: true });
    $('.content, .searchresults').fadeOut(500).delay(500).fadeIn(275);
        window.scrollTo(0, 0); // Scroll Window back to Top
        return false;
    });
});
4

2 に答える 2

0

遅延に対応するタイムアウトを設定する代わりに、フェードアウト関数にコールバックを割り当てることができます。

$(".layout a").click(function () {
    $.cookie("Layout", $(this).attr('name'), { expires: 365, path: '/media', secure: true });
    $('.content, .searchresults').fadeOut(500, function() {
        $("link:first").attr("href", $(this).attr('rel'));
    }).fadeIn(275);

    window.scrollTo(0,0);
    return false;
}

詳細については、jQuery リファレンスを参照してください: http://api.jquery.com/fadeOut/

私は通常、リンクタグを介してロードされたスタイルシートをjavascriptを介して変更することはほとんどまたはまったく運がありませんでした。

于 2013-01-29T21:02:01.957 に答える