Избегайте обратной записи при выполнении функции таймера
Мне нужно обновить изображения на моем сайте, не отправляя пост обратно на страницу. Итак, я загрузил изображения в рекламный ротатор, чтобы переключаться между изображениями.
Я также использовал функцию отметки времени для обновления изображений в рекламном ротаторе.
Но в то время как функция отметки времени таймера обновляет, вся страница обновляется, так что все функции, которые я объявил на странице, перезагружаются.
Мне нужно, чтобы только изображения в рекламе изображений обновляли не всю страницу.
мне нужно избегать полного обновления страницы. Пожалуйста, помогите мне.
$(document).ready(function() {
setInterval(function() {
$('#<% = addrotat.ClientID %>').load(location.href + ' #<% = addrotat.ClientID %> ', '' + Math.random() + '');
}, 5000);
});
2 ответа
Вам нужно использовать ajax, используя панели обновления с соответствующими триггерами, панель обновления. Позволяет частично отображать разделы страницы без обратной передачи.
<asp:UpdatePanel ID="up1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="yourControl" EventName="yourControlEvent" />
</Triggers>
<ContentTemplate> your content goes here </ContentTemplate>
</asp:UpdatePanel>
Вы можете проверить эту ссылку
панель обновления, с триггерами,
//auto refresh clock without postback
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<script type="text/vbscript" runat ="server" >
Private Sub fun()
label.Text = Now.ToString
End Sub
</script>
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="up1" runat="server">
<ContentTemplate ></ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="tim" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Timer ID="tim" Interval ="1000" Enabled ="true " OnTick ="fun" runat ="server" ></asp:Timer>
<asp:Label ID="label" runat ="server" Text="DD/MM/YY"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>