How to show an element in Jquery after 1 seconds only if the mouse is still over the element? <p>I'm trying to create a hover-menu inside a gridview like the one of Gmail when you put the mouse over the names in the chatlist. </p> <p>How to show an element in Jquery after 1-2 seconds <strong>only if the mouse is still over the element</strong>?</p> <p>The following is not working properly because if i just move the mouse throughout the list, all the elements will show up (even though with a delay of 1 sec.)</p> <pre><code> $('.label, .popup').hover(function(e) { setTimeout(function() { $(e.target).closest("tr").find(".popup").show(); }, 1000); }, function(e) { setTimeout(function() { $(e.target).closest("tr").find(".popup").hide(); }, 1000); }); &lt;asp:TemplateField&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="label1" CssClass="label" runat="server" Text='&lt;%# Eval("Column1") %&gt;'&gt;&lt;/asp:Label&gt; &lt;asp:Panel runat="server" ID="popup" CssClass="popup" Style="display: none; position: absolute; margin-left: 60px; width: 250px;"&gt; Random text &lt;/asp:Panel&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; </code></pre>