将ajax添加到简单的jquery函数中

将ajax添加到简单的jquery函数中,ajax,jquery,fadein,Ajax,Jquery,Fadein,我正在使用一些简单的jquery来显示查看购物车按钮,如果有什么东西被添加到购物车中 if ( $('.cartSummaryItem').text() != 'Shopping cart is empty.' ) { $('.account').fadeIn(1000) }; 如果购物车是空的,则会显示文本“购物车是空的”。如果添加了内容,则帐户将消失。问题是我需要刷新页面以使其正常工作,有没有一种方法可以在不使用ajax或类似工具刷新页面的情况下做到这一点 谢谢 尼克:嗯,我想你

我正在使用一些简单的jquery来显示查看购物车按钮,如果有什么东西被添加到购物车中

if ( $('.cartSummaryItem').text() != 'Shopping cart is empty.' ) {
     $('.account').fadeIn(1000)
};
如果购物车是空的,则会显示文本“购物车是空的”。如果添加了内容,则帐户将消失。问题是我需要刷新页面以使其正常工作,有没有一种方法可以在不使用ajax或类似工具刷新页面的情况下做到这一点

谢谢
尼克:嗯,我想你有两个选择

  • 在用户更改购物车的内容后调用javascript代码
  • 轮询服务器以获取购物车更改

如果可以,你可能应该选择第一选择。您是否控制更改购物车内容的代码?

如果更改事件不起作用。另一种方法是使用区间

<script type='text/javascript'>
    $(document).ready(function()
    {
        setInterval(function () { 
            if ( $('.cartSummaryItem').text() != 'Shopping cart is empty.' ) {
                $('.account').fadeIn(1000)
            };
        }, 10000);
    });
</script>

$(文档).ready(函数()
{
setInterval(函数(){
如果($(“.cartSummaryItem”).text()!=“购物车为空”。){
$('.account').fadeIn(1000)
};
}, 10000);
});

当然,间隔时间应该更改为您想要的数量。只有当改变不起作用时,我才会用这个首选更改事件

这是可行的,为什么不是首选方式。setInterval是否使用更多的cpu或类似的cpu?该interval只是每隔几秒、几分钟或您决定使用的任何所需的毫秒检查一次。这意味着,它将继续启动,只有当某些内容发生更改时,更改事件才会启动。在少量的时间间隔内,这无关紧要。。但更大的数量可能会导致性能问题,当然,您需要运行很多时间间隔才能实现这一点。。更改事件比在站点上运行100~500次间隔要好:]我查看了jQuery文档并。。。“此事件(.change)仅限于元素、框和元素。”对于正在寻找解决方案的其他人,很高兴知道这一点。