JQuery fadeIn延迟淡出

JQuery fadeIn延迟淡出,jquery,Jquery,我试着淡入一个div,在屏幕上保持几秒钟,然后淡出。问题是它并没有像我预期的那样长时间地停留在屏幕上,即使将延迟设置为10秒左右,它也只是短暂地停留在屏幕上。我读过很多帖子,也尝试过很多东西,比如settimeout,但我不会走得太快 这是我的剧本: <script type="text/javascript"> function pageLoad() { $("[id*=lnkSelect]").live("click", function () { var

我试着淡入一个div,在屏幕上保持几秒钟,然后淡出。问题是它并没有像我预期的那样长时间地停留在屏幕上,即使将延迟设置为10秒左右,它也只是短暂地停留在屏幕上。我读过很多帖子,也尝试过很多东西,比如settimeout,但我不会走得太快

这是我的剧本:

<script type="text/javascript">
    function pageLoad() {
    $("[id*=lnkSelect]").live("click", function () {
    var price = $("#price").html($(".prodprice", $(this).closest('tr').prev().children   ('td.prodpricelabel')).html());
    var code = $("#code").html($(".prodcode", $(this).closest('tr').prev().prev().children ('td.prodcodelabel')).html());
    //Build the new HTML
    $(code).prepend("<br/>Item: ");
    $(code).append("<br/>Has been<br/>added to your cart.<br/>Price: ");
    $(".tooltipleft").html(code); //Set the new HTML
    $(".tooltipleft").append(price);
    $(".tooltipleft").fadeIn('slow').delay(5000).fadeOut('slow');
    });
    };
</script>

函数pageLoad(){
$(“[id*=lnkSelect]”。live(“单击”,函数(){
var price=$(“#price”).html($(“.prodprice”,$(this).closest('tr').prev().children('td.prodpricelab')).html());
var code=$(“#code”).html($(“.prodcode”,$(this).closest('tr').prev().prev().children('td.prodcodelabel')).html());
//构建新的HTML
$(代码).prepend(
项:); $(代码).append(
已添加到您的购物车中。
价格:); $(“.tooltipleft”).html(代码);//设置新的html $(“.tooltipleft”).append(价格); $(“.tooltipleft”).fadeIn('slow')。delay(5000)。fadeOut('slow'); }); };
因此,我从html中获取产品代码和价格,在div中修改html,然后将其作为商品已添加到购物车的通知淡入

这是我想要淡入的div:

<div class="tooltipleft" id="tooltip">
    <span id="code"></span><span id="price"></span>
</div>

和网格中的按钮:

<asp:ImageButton ID="lnkSelect" runat="server" ImageUrl="~/Buttons/add_to_cart.png"
    AlternateText="Add To Cart" CommandArgument='<%# Eval("ProductID") %>' CommandName="Add"
    ImageAlign="Right" />

使用show and hide(显示和隐藏)而不是fadeIn和fadeOut(淡出)来查看它是否有效。如果它不起作用,那么你的问题就出在别的地方了。 正如您看到的那样,
$('#foo').fadeIn().delay(2000).fadeOut()正在工作;
是正确的代码行

$('#tooltipleft').show(0).delay(5000).hide(0);
这样做:


show(0)
将不执行动画<代码>显示('slow')将执行与预期不同的动画。询问者代码的这部分没有问题:我只是厌倦了这个$('.tooltipleft')。显示(0)。延迟(5000)。隐藏(0);它还可以,但仍然不会像2一样在屏幕上停留5秒,那么这是什么原因呢?这是我的网页,上面的代码当前正在使用$('.tooltipleft')。显示(0)。延迟(5000)。隐藏(0);您没有看到淡出动画,因为您正在刷新页面。已提交表单并加载location.aspx。这应能正常工作。你能在不起作用的地方贴一把小提琴吗?按预期效果:点击此网页上的“添加到购物车”按钮,查看我的意思询问者代码的这一部分没有问题:是的,有。淡出不需要5秒的延迟,我的会看到我的小提琴。衰减确实需要延迟
$(function () {
  $('.tooltipleft').fadeIn('slow', function () {
    $(this).delay(5000).fadeOut('slow');
  });
});