需要jquery点击计数的帮助

时间:2011-08-18 10:15:41

标签: jquery

到目前为止,我已经有了这个JavaScript:

$(document).ready(function() {
    $("#flash").click(function() {
        $(this).html('<img src="http://ruh.kz/sites/default/files/ajax-loader.gif" />');
        $(this).load("http://ruh.kz/sites/all/themes/ruh/sunit.php");
        $('#counter').html(function(i, val) {
            return val * 1 + 1
        });
    });
});

随附这个HTML:

<div id="flash">
    <img src="http://ruh.kz/sites/default/files/sunit.jpg" />
</div>
<div id="counter">0</div>

(Demo)

  1. 一个问题是它在页面刷新后重置...如何保存计数?

  2. the example on jsfiddle.net中,效果很好。然而,在我的Drupal页面上,它没有。当我按下<div id="flash">计数器“0”消失时。这可能是什么问题?

3 个答案:

答案 0 :(得分:0)

  1. 您必须使用Cookie来存储页面请求之间的点击次数,因为每次重新加载都会重新加载javascript,因此您的点击次数将会丢失。

答案 1 :(得分:0)

  1. 您可以发布ajax请求以保存或将其保存到cookies
  2. 你有#counter吗?

答案 2 :(得分:0)

正如其他人在此提到的,Cookie是一种解决方案,用于存储页面刷新时的点击次数。另一种选择是将它们存储在与登录用户相关联的数据库中。 Cookie肯定会简单得多,但是如果你在Drupal网站上运行它并拥有不错的PHP / MySQL经验,那么数据库选项也很容易。主要取决于此点击次数的重要程度。是否需要永久保存?用户是否应该看到正确的号码,无论他/她使用什么计算机?如果这些问题中的任何一个的答案为“是”,则需要数据库解决方案。

至于为什么它不能在您的Drupal网站上运行,您必须提供更多信息。您的控制台中是否有任何JavaScript错误?