2012-01-10 20 views
0

私は$(document).ready(function())の条件をチェックしているかどうかを判断するdivを持っています。jquery関数を呼び出した後のページのリロード

div内には、div全体がフェードアウトするボタンがあります。問題は、fadeout()関数を呼び出した後で、$(document).ready(function())が再び呼び出されます(つまり、ページがリロードされます)。また、divを表示する条件を満たすことになります。

fadeout()関数が呼び出された後で、ページの再読み込みが行われないようにします。

HTML

<div class="success"><%: ViewData["successResult"] %> 
<br /><br /> 
<span id="closenotification" class="buttons" onclick="fadeoutbox()"><a href="" ><img src="<%= Url.Content("~/Content/Images/door_out.png") %>" alt="" />Close</a></span> 
</div> 

javascriptの

function fadeoutbox() { 
    $(".success").fadeOut(5000, function() { 
     /*$(".success").css("display", "none"); 
    $("#closenotification").css("display", "none");*/ 
    }); 

} 

$(function() { 
    var successres = '<%= ViewData["successResult"] %>'; 
    //alert(successres != null); 
    if (successres != "") { 
     var leftpos = screen.width/2 - 350; 
     var toppos = screen.height/2 - 125; 
     $(".success").css("left", leftpos); 
     $(".success").css("top", toppos); 
     $(".success").css("display", "block"); 
     $("#closenotification").css("display", "block"); 
    } 

    if ($(".failure").html() != "") { 
     var leftpos = screen.width/2 - 350; 
     var toppos = screen.height/2 - 125; 
     $(".failure").css("left", leftpos); 
     $(".failure").css("top", toppos); 
     $(".failure").css("display", "block"); 


    } 
}); 
+1

言っ​​

  • 使用の終わりに偽のhref
  • 復帰のための#を入れをあなたがリンクをクリックすると、そのリロード... some link firing but not reloading pages ggzone

  • +0

    ありがとう@ggzone。出来た ! –

    +0

    また、確認として回答をマークし、自分自身も試してくださいpreventDefault()...違いはありますが、どちらも同じように動作します – ggzone

    答えて

    0

    spanにネストされた)リンク要素にonclickイベントを移動するので、

    function fadeoutbox(evt) { 
        evt.preventDefault(); 
        $(".success").fadeOut(5000, function() { 
         ... 
        }); 
    } 
    
    1

    あなたのようなあなたの機能を変更してみてください画像をaタグで囲みました。 aタグのクリックイベントでページが再読み込みされないようにするには、preventDefaultを使用する必要があります。またはaタグを完全に削除してください。

    +0

    いいえタグを削除できません。 ggzoneの解答は –

    0

    onclick="fadeoutbox()"部分を削除し、このハンドラを追加します。

    $('#closenotification').click(function(e) { 
        e.preventDefault(); 
        fadeoutbox(); 
    }); 
    
    0

    はこれを試してみてください:

    $(関数(){

    var successres = '<%= ViewData["successResult"] %>'; 
    //alert(successres != null); 
    if (successres != "") { 
        var leftpos = screen.width/2 - 350; 
        var toppos = screen.height/2 - 125; 
        $(".success").css("left", leftpos); 
        $(".success").css("top", toppos); 
        $(".success").css("display", "block"); 
        $("#closenotification").css("display", "block"); 
    
        return; 
    } 
    
    if ($(".failure").html() != "") { 
        var leftpos = screen.width/2 - 350; 
        var toppos = screen.height/2 - 125; 
        $(".failure").css("left", leftpos); 
        $(".failure").css("top", toppos); 
        $(".failure").css("display", "block"); 
    
        return; 
    } 
    

    });

    +0

    の条件の両方の終わりの前にreturn文を追加しました。 –

    0

    あなたはこれらのいずれかの操作を実行できます。

    1. が他の男のようなe.preventDefault()は、私はあなたが意味を考える
    +0

    'e.preventDefault()'は 'return false'のようなものです – MDP

    関連する問題