台灣最大程式設計社群網站
線上人數
1430
 
會員總數:243311
討論主題:188091
歡迎您免費加入會員
討論區列表 >> ASP.NET >> timer造成網頁滑動時法順暢滑動
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
timer造成網頁滑動時法順暢滑動
價值 : 50 QP  點閱數:243 回應數:8

樓主

LuLu
門外漢
0 10
251 25
發送站內信

寫了一個asp網頁,發現使用滑鼠滾輪快速滑動網頁時,有些許機率會造成畫面卡卡抖動的感覺,沒辦法很順利滑動,用觸控滑感覺更明顯
找了一下問題發現好像是timer造成的,timer已經放在了updatepanel裡面,為部分刷新不是整夜刷新
但似乎剛好在一秒更新時快速滑動還是會讓頁面稍微閃動無法順暢的滑動到頁面頂端或底端
請問這樣的問題該怎麼解決

搜尋相關Tags的文章: [ asp ] , [ ajax ] , [ c# ] , [ timer ] , [ updatepanel ] ,
本篇文章發表於2018-08-07 19:39
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

小羊窒息
捐贈 VP 給 小羊窒息 檢舉此回應
updatepanel 是整頁刷新...
(只不過是利用ajax把panel內的html資料整個換掉, 讓你感覺不到換頁,
頁面大量資料變動時, 畫面一定會頓頓的)


==================
網頁要用timer來更新資料的話, 原則上必須自行撰寫javascript來存取資料

例如透過jquery的 $.get("xxxxx.ashx" ...
再把取得的新資料 替換掉舊有的

又或是使用其他的javascript framework來處理 "網頁即時資料的問題"
本篇文章回覆於2018-08-08 12:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

LuLu
檢舉此回應
意思是不能用updatepanel?不過我發現只有timer+updatepanel才會有這個問題,單用updatepanel不會頓頓卡卡的
但是現在就是要timer+updatepanel,不用javascript的話沒有任何辦法嗎?
本篇文章回覆於2018-08-08 15:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

小羊窒息
捐贈 VP 給 小羊窒息 檢舉此回應
你要不要考慮先貼個code...
本篇文章回覆於2018-08-09 22:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

LuLu
檢舉此回應


類似這樣吧
本篇文章回覆於2018-08-12 16:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

小羊窒息
捐贈 VP 給 小羊窒息 檢舉此回應



【小鋪的編輯功能壞掉了。。。】



如果你只是要顯示 Server的時間,
請改用以下寫法...


【用記事本將以下內容存成 showTime.ashx】
<%@ WebHandler Language="VB" Class="showTime" %>
Public Class showTime
Implements System.Web.IHttpHandler

Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "text/html"
context.Response.Write(Now.ToString("yyyy/MM/dd HH:mm:ss"))
End Sub

ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
========================





【用記事本將以下內容存成 TimerTest.aspx】(重點只有最底下的 javaScript getTime())
<%@ Page Language="VB" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p>
<p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p>
<p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p>
<p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><h2>title</h2>
<br />
<table>
<tr>
<td align="left" style="height: 60px; width: 30%;" valign="top">
<asp:Label ID="Label1" runat="server" Font-Size="Large" ForeColor="Black"
Text="Label1"></asp:Label>
</td>
<td align="left" valign="top">
<asp:Label ID="Label2" runat="server" Font-Size="Large" ForeColor="Black"></asp:Label>
</td>
<td align="left" style="width: 30%" valign="top">
&nbsp;</td>
</tr>
<tr>
<td align="left" style="height: 60px; width: 30%;" valign="top">
<asp:Label ID="Label15" runat="server" Font-Size="Large" ForeColor="Black"
Text="Label3:"></asp:Label>
</td>
<td align="left" valign="top">
<asp:Label ID="lblTime" runat="server" Font-Size="Large" ForeColor="Black"></asp:Label>
</td>
<td align="left" style="width: 30%" valign="top">
&nbsp;</td>
</tr>
</table>
<p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p>
<p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p>
<p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p><p>&nbsp;1</p>
<p>&nbsp;1</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>
<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
function getTime() {
$.get("showTime.ashx", function(result) {
$('#lblTime').html(result);
});
}

window.setInterval(function(){ getTime() } , 1000); //每秒從server取得時間...
</script>
</body>
</html>
本篇文章回覆於2018-08-15 21:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

LuLu
檢舉此回應
我不是只要顯示時間,我只是截了一小部分,我有很多資料幾乎不可數都用到TIMER以及UPDATEPANEL做讀取,而且是要在使用者輸入正確資料後在不動用任何按鈕下進行讀取,或是不用資料資料有更新時就更新顯示
本篇文章回覆於2018-08-16 01:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

小羊窒息
捐贈 VP 給 小羊窒息 檢舉此回應
有大量資料要變更的話, 就是我1樓所講的那樣,

一定會卡卡的,


你想想看嘛, 網頁的內容在變動後, 連帶 docuemnt的寬度與高度都會跟著變動,
第一個影響到的就是瀏覽器本身, 你完全不去動他, 瀏覽器的捲軸列都會自己變了,
這時你還要用滑鼠或觸控去滑動螢幕的位置, 捲軸列第一個就卡你了呀

本篇文章回覆於2018-08-18 23:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

LuLu
檢舉此回應
用了updatepanel將字帶出來而已,寬度與高度其實並沒有變,就是配上timer會卡卡
我本來是想說能解決timer的問題應該就不會卡卡的
本篇文章回覆於2018-08-24 21:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.