【问题标题】:Jquery Play sound only onceJquery 只播放一次声音
【发布时间】:2014-09-04 14:34:29
【问题描述】:

当用户收到新消息时,我需要 jQuery 播放通知声音。这是我的代码,其中包含未读消息和声音的计数。问题是当用户收到一条新消息时,它每 0.1 秒播放一次声音,直到他阅读它。我只需要播放一次,当用户收到另一条消息时再播放一次。

    function pullNewMessageCount() {
                    var url = 'messenger/bubble.php';
                    $.ajax({
                        url: url,
                        dataType: 'html',
                        type: 'POST',
                        success: function(latestCount) {
                            setTimeout('pullNewMessageCount()', 200);
                            $('#bub').html(latestCount);
                            if (latestCount > 0)
                            { 
                                $('#bub').removeClass('hidden').addClass('bubble').addClass('animating');
playSound('message');
                            } else if ((latestCount = $('#bub').html()) && (latestCount > 0)) {
                                $('#bub').removeClass('animating');                              
                            } else if ((latestCount = '0') || (!latestCount)) {
                                $('#bub').removeClass('bubble').addClass('hidden');
                            } else {
                                $('#bub').removeClass('bubble').addClass('hidden');
                            }
                        },
                        error: function(jqXHR, textStatus, errorThrown) {
                        }
                    });
                }

【问题讨论】:

  • playSound函数的定义是什么?函数 pullNewMessageCount() 是执行一次,还是每 0.1 秒执行一次?
  • 每 0.1 秒。 function playSound(filename){ document.getElementById("bub").innerHTML='';

标签: jquery ajax notifications audio


【解决方案1】:

需要存储 latestCount 的值,并且仅在 latestCount 小于当前计数时播放声音,而不是总是在 > 0 时播放。

当有新消息可用时,latestCount 将再次低于当前计数,导致声音再次播放。

【讨论】:

  • 如何存储?我认为它会在每次调用函数时重置变量。
  • 您可以将其存储在页面上的隐藏字段中: 并使用Javascript分配和读取值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多