希望快速简单。我试图在页面失去焦点时组织页面标题交换,如Invision博客,我有下面的代码,它完全适用于实际功能。
唯一的问题是引入不输出的count变量,也不提供任何错误。
var title = document.title,
count = $(".itemCount").text();
newTitle = "You have " + count + " items still in your basket " + title;
document.addEventListener("visibilitychange", function () {
document.title = ((document.hidden) ? newTitle : title);
});
并且该类的HTML是:
<span class="itemCount cornersSmall">20</span>
我正在使用jQuery 1.11.0
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
newTitle输出本身看起来很好,因为尝试再次重复标题变量并且工作正常所以只能假设拾取itemCount文本存在问题。
答案 0 :(得分:0)
确定找到了修复程序。感谢所有有助于引导思维过程方向的评论。这是有效的代码。
(function ($) {
var itemCount = parseInt($('#basketPreviewPanel .itemCount').text())
if (itemCount > 0) {
var title = document.title;
newTitle = "You have items still in your basket | " + title;
document.addEventListener("visibilitychange", function () {
document.title = ((document.hidden) ? newTitle : title);
});
}
}(window.jQuery));
正如您所看到的那样,由于ajax问题导致计数未更新而导致输出发生了一些变化,因此使用了更通用的消息并使用JS来获取数字并将其用作IF语句。