【发布时间】:2018-04-09 20:31:55
【问题描述】:
我的目标是在使用 fancybox 3 显示图像时增加浏览量。
目前我有我的html,
function counter(itemId) {
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
}
}
xmlhttp.open("GET","gallery2/counter.php?itemId="+itemId,true);
xmlhttp.send();
}
<a id="139494" onclick="counter(139494);" href="/gallery2/gallery/d/139496-4/2018-03-03-112534-Lisboa-PT.jpg?g2_GALLERYSID=6d16e7155d771b4801e3bf941b22d555" class="fancybox-download" data-caption="03/03/2018 - Tour de Belém - Lisbonne 2018 - 5 vue(s) - ID 139494" title="03/03/2018 - Tour de Belém - Lisbonne 2018 - 5 vue(s) - ID 139494" data-fancybox="fancybox">
<img src="/gallery2/gallery/d/139495-3/2018-03-03-112534-Lisboa-PT.jpg?g2_GALLERYSID=6d16e7155d771b4801e3bf941b22d555" width="180" height="120" alt="Tour de Belém">
</a>
javascript + php 在 onclick 事件中为一张图像工作。我使用图像的 ID 来增加数据库中的视图字段。
问题是当我用fancybox打开一组图像时,它只适用于第一张图像。所以我需要一个 afterShow 事件。问题是:如何在事件中将 ID 传递给我的函数计数器?想法是在 javascript 中获取我的 A 元素的 ID 属性...我已经尝试过了,但它不起作用
afterShow : function(){
var itemId = $('.fancybox-download').attr('id', current.src);
counter(itemId);
},
你们能帮帮我吗?看起来很简单,但我对javascript不够熟练......
谢谢!
大卫
【问题讨论】:
标签: jquery fancybox fancybox-3