2017-02-20 17 views
0

何が間違っているのですか? certainsイベントが発生したときにクリック時のJqueryフェードアウト

Javascriptを

function editDayClicked() { 

var leftsideB = $(".BtnAbsLeftPos"); 
var rightsideB = $(".BtnAbsRightPos"); 

leftsideB.fadeOut({ queue: false, duration: 1500 }); 
rightsideB.fadeOut({ queue: false, duration: 1500 }); 

leftsideB.animate({ left: '-6%' }, 1500); 
rightsideB.animate({ left: '100%' }, 1500, 
    function() { 
     $("#UserCalendar").fadeOut({ duration: 1500 }); 
     $("#UserDayData").fadeOut({ duration: 1500 }); 
    }); 
} 

この関数は、C#の背後にあるコードをクリックボタンの上に挿入されています。

C#

protected void UserCalendar_SelectionChanged(object sender, EventArgs e) 
{ 
    ... 
    EditDay.Enabled = true; 
    EditDay.Attributes.Add("onclick", "javascript:editDayClicked(); return true;"); 

    currentDate.Text = UserCalendar.SelectedDate.ToLongDateString(); 
} 

ボタンがクリックされたときただし、関数が呼び出されますが、何も起こりません。その後、ボタンをクリックした状態でコードをクリックします。私はあなたにすべてのコード関連のまま:

ASPX

<asp:ImageButton ID="EditDay" ClientIDMode="Static" runat="server" ImageUrl="~/Images/EditB.png" CssClass="GenericButton" Enabled="false" ToolTip="Edit the current day" OnClick="EditDay_Click" /> 

C#

protected void EditDay_Click(object sender, ImageClickEventArgs e) 
{ 
    ... 
    Response.Redirect("DayTasks.aspx?day=" + UserCalendar.SelectedDate.Day);    
} 

を編集しました(21/02/2017):

[OK]をみんな、今私がいることを実現本当の問題はラッパーにあります。私もセレナを持っていますし、AJAXのupdatePanelを使って、カレンダーの日をクリックするとページがリフレッシュされないようにしています...それが問題です。私は、更新パネルなしで空のプロジェクトでそれを試し、うまく動作します。なぜ私はupdatepanelが干渉しているのかわかりません。なぜこれが起こっているのか、それを解決するための回避策はありますか?...私は最初は明らかにしなかったことを申し訳なく思っています。

あなたのごくありがたいサポートに感謝します。あなたのコードが示すように

答えて

0

は、のonclickイベントの定義が含まれている機能を行うので、私はあなたがHTML にunderstanイベントいけないことを信じのでjqueryののonloadイベントで、あなたのコードは次のようになります。

$(window).load(onLoad); 
function onLoad() { 

$("#UserCalendar").fadeOut({ duration: 1500 }); 
$("#UserDayData").fadeOut({ duration: 1500 }, "swing", 
    function() { 
     var leftsideB = $(".BtnAbsLeftPos"); 
     var rightsideB = $(".BtnAbsRightPos"); 

     leftsideB.fadeOut({ queue: false, duration: 1500 }); 
     rightsideB.fadeOut({ queue: false, duration: 1500 }); 

     leftsideB.animate({ left: '-6%' }, 1500); 
     rightsideB.animate({ left: '100%' }, 1500); 
    }); 

//alert('faded out'); 
} 

このメイク、ページがロードされると、イベントが定義されるので、クリックでトリガーされるとディスパッチされます。 AT最後

、このコードは、何も必要ではないでしょう。あなたの答えのための

EditDay.Attributes.Add("onclick", "javascript:editDayClicked(); return true;"); 
+0

感謝。私の知る限り、無効または不可視のASP要素はHTMLコードには表示されないので、存在しない要素にはJavaScriptを付加できません。私はいくつかのコードを(それはこのようにする必要があります)後に有効にして、添付ファイルを置く、そうでなければ、クリックしてjavascriptを実行したくない。とにかく私はあなたのポイントを持っていますが、機能がうまくいきます、問題はコンテンツがないということです。私はmyslefを混乱させるかどうかわかりません... –

+0

私はスペイン語の話し手であると信じています。 –

+0

はい私もあなたも信じています....私は英語のフォーラムにいるので、 –

関連する問題