У меня есть панель обновления, которая содержит различные заполнители с изображениями.
Для этих изображений добавлено отражение с использованием refle.js .
Проблема в том, что при запуске панели обновления скрипт отражения не всегда запускается.Нет реального примера того, когда он не работает и с какими панелями он не работает.
Вот пример моего кода, чтобы вы могли увидеть, как он работает (я сократил его до 2 панелей дляэтот пример для краткости кода) ... Самое удивительное в том, почему он работает несколько раз, а не другие.
<head>
<script type='text/javascript' src="/scripts/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="/scripts/jquery-ui.js"></script>
<script src="reflection.js" type="text/javascript"></script>
</head>
<body>
<form runat="server" id="loginform">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<ul>
<li>
<asp:LinkButton ID="Lnk1" OnClick="fnc1" runat="server" Text="Read more..." />
</li>
<li>
<asp:LinkButton ID="Lnk2" OnClick="fnc2" runat="server" Text="Read more..." />
</li>
</ul>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Lnk1" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="Lnk2" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:PlaceHolder runat="server" ID="PH1"> <img src="myimage1.jpg" title="myimage1" width="200" height="133" class="zoomImage reflect rheight36 ropacity25" /> </asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="PH2"> <img src="myimage2.jpg" title="myimage2" width="200" height="93" class="zoomImage reflect rheight51 ropacity25" /> </asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
А вот код vb ...
Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
PH1.Visible = False
PH2.Visible = False
If Not Page.IsPostBack Then
PH1.Visible = True
End If
End Sub
Sub fnc1(ByVal sender As Object, ByVal e As EventArgs)
PH1.Visible = True
End Sub
Sub fnc2(ByVal sender As Object, ByVal e As EventArgs)
PH2.Visible = True
End Sub
Я немного изменил файл Reflection.js, чтобы он вообще работал в панели обновления следующим образом ...
function load() {
addReflections();
// Line below added for updatepanel...
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(addReflections);
}
window.onload = function () { load(); }