2017-02-20 67 views
0

任何人都知道这里有什么问题吗?点击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):

好球员,现在我意识到,真正的问题在包装上。我也有一个celandar,我使用AJAX 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'); 
} 

本作,当页面被加载时,事件被定义,所以当通过点击触发时,它将被调度。

最后,这段代码,就没有必要:

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

谢谢您的回答。据我所知,禁用或不可见的ASP元素不会出现在HTML代码中,因此您无法将任何javascript附加到不存在的元素。我做了一些代码(它必须是这样),然后我不想执行JavaScript上点击启用和附件。无论如何,我明白你的观点,但功能提升良好,问题在于内容不。我不知道我是否混淆myslef ... –

+0

如果你愿意,我相信的都是西班牙语健谈 –

+0

是的,我也相信你太....我只是不停地用英语书面方式因为我们是在一个英文论坛。 –