我正在尝试在新闻档案系统中实施点击计数器。
文章以灯箱样式的jQuery插件显示。这意味着所有文章都加载了页面的其余部分,但设置为display:hidden,直到相关条目被点击为止。
所以,我不能让PHP增加简单地嵌入页面的计数器,并且在搜索中找到触发计数器的东西,所有我能想到的是这个改变显示:block。
我对任何建议持开放态度,虽然我对简单的jQuery更有经验,但我可能需要预感AJAX吗?
提前感谢任何人提供的帮助,如果有任何其他信息有用,请告诉我。
很抱歉,但我目前工作的限制意味着我只能使用IE6。所以我无法评论任何人的答案......这是我认为我可以回复的唯一方式。
响应:
感谢大家的快速回复。我不认为我可以使用普通的jQuery,因为系统将在内部网上,并且需要记录整个网络的访问总数,因此我认为cookie不够。
我将尝试布拉德利建议的load()函数 - 比我想象的要简单得多......现在感觉有点傻。
将更新我如何上场:)
更新
我正在尝试实现load()函数,但没有成功。缺乏萤火虫也会因调试而受阻。
任何人都可以看到此代码可能出现的问题:
<script type="text/javascript">
$('#<?php echo $row->articleid; ?>link').click(function() {
alert("some encouraging text<?php echo $row->articleid; ?>");
$('#<?php echo trim($row->articleid); ?>target').load("/hitcount.php?articleid=<?php echo $row->articleid; ?>");
});
</script>
<div id="<?php echo trim($row->articleid); ?>link">Click2</div><br />
<div id="<?php echo trim($row->articleid); ?>target"></div>
令人尴尬的更新 ......所有错误的是文件路径。
答案 0 :(得分:2)
只是一个简单的点击计数器?没有关于用户信息的反馈?
$('#result').load('ajax/counter.php');
编辑
$('#somediv').click(function() {
$('#result').load('ajax/counter.php');
});
答案 1 :(得分:0)
你真的不需要Ajax,只是一个javascript变量,它会在你放在每个html输入/下拉/等上的任何onchange事件上递增...然后onsubmit,传递那个javascript变量。
答案 2 :(得分:0)
是的,ajax会帮助你。您可以绑定到任何导航项上的click事件,将文章切换为块显示,并将其分配给点击计数器脚本。
<a href='#article-1' class='display-article'>display article 1</a>
<a href='#article-2' class='display-article'>display article 2</a>
<div id='article-1' style='display:none;'>article 1</div>
<div id='article-2' style='display:none;'>article 2</div>
<script>
$(function() {
$('a.display-article').on('click', function(event) {
var article_id = $(this).attr('href');
$(article_id).show(); // show the actual article
// and send the ajax request to the processor
$.get('/scripts/track-click.php', { article_id: article_id }, function(data) {
alert('article tracking complete!'
});
});
});