Как заставить секундомер - старт/стоп с label1.text?
Привет Я занимаюсь небольшим проектом. Согласно движениям мыши, секундомер должен быть запущен или остановлен.
т. е. как только мышь окажется внутри, то запустите секундомер, иначе остановитесь. Возможно ли это?
мои коды: страница aspx
<div id="Divn1" onmousemove="MyNewFunction(event)" onmouseout="ClearCoor()" style="width:99%; height:99%; border:solid;background-color:white; position:absolute;"> <p id="Demo1"></p> <asp:Label ID="Label2" runat="server" Font-Size="XX-Large"></asp:Label> <div id="Divn2" style="width:50px;height:50px;border-radius:50%;background-color:brown; position:absolute; top:45%; margin-left:47%;"> </div> <asp:scriptmanager ID="Scriptmanager1" runat="server"></asp:scriptmanager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Label ID="Label1" runat="server" Font-Size="XX-Large"></asp:Label> <asp:Timer ID="tm1" Interval="1000" runat="server" ontick="tm1_Tick" /> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="tm1" EventName="Tick" /> </Triggers> </asp:UpdatePanel> </div>
А потом aspx. cs
public static Stopwatch sw; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { sw = new Stopwatch(); sw.Start(); } } protected void tm1_Tick(object sender, EventArgs e) { long milsecs = sw.Elapsed.Milliseconds; if (Label2.Text.Trim().Length > 0) { Label1.Text = DateTime.Now.ToString("00:ff"); } sw.Stop(); //Label1.Visible = false; }
Спасибо
Что я уже пробовал:
Попытался начать смотреть, пока мышь движется
F-ES Sitecore
Серверный код на самом деле не подходит для такого рода задач, вам лучше делать это на javascript. Кроме того, ваше использование "статики" для работы секундомера означает, что у всех, кто использует ваш сайт, есть один и тот же секундомер, и они будут начинать\останавливать друг друга, а это означает, что вы не получите желаемого результата. Это может сработать, когда только вы используете сайт, но это не сработает для других.