我不确定如何完成我想要做的事情,这在开始时似乎很简单。我想在将'visited'
链接的内容调用到fancybox iframe 之前向单击的链接添加一个类。
只要我beforeLoad
挂断电话,Fancybox 就可以正常工作。添加后,页面只是重新加载窗口,绕过 Fancybox。
我不确定我的beforeLoad
函数(这里称为add_visited
)是否允许使用 jQuery(如 中addClass
),或者我是否需要坚持使用直接的 javaScript 功能(element.setAttribute("className", "visited")
)。此处粘贴的代码用于 jQuery,并引用了传入this
的theClicked
.
因此,如您所见,我也不确定如何$(this)
在函数中引用。this
本质上,我想从实际$.fancybox()
通话中结转。
而且,为了清楚起见,.clinical_trial_link
是一个应用于锚点的类。在实际代码中是a.clinical_trial_link
.
为了更清楚起见,我在这里阅读了一些对话,讨论了这种将链接标记为已访问的方法的相对优点。我得到了简单使用一个类的缺点,但是在一个像这个链接一样重的网站上,查看已经被点击的内容是必不可少的。
最后,有问题的页面位于:http: //pull4parkinsonsfoundation.org/clinical_trials/
当然,当我继续像带键盘的鲭鱼一样四处乱窜时,js 将与此处粘贴的内容有所不同。;-)
任何帮助将不胜感激,并提前感谢你们在stackoverflow上所做的出色工作。这是我多年来第一次真正不得不发布问题!
这是我的代码:
function add_visited(theclicked) {
$(this).addClass('visited');
}
$(document).ready(function() {
$('.clinical_trial_link').fancybox({
'beforeLoad': add_visited($this),
'maxWidth': 1222,
'maxHeight': 1222,
'fitToView': true,
'width': '80%',
'height': '90%',
'topRatio': 0.2,
'autoSize': false,
'closeClick': false,
'openEffect': 'elastic',
'closeEffect': 'elastic'
});
});