我不确定如何完成我想要做的事情,在开始时,它看起来很简单.我想在将'visited'链接的内容调用到fancybox iframe之前为点击的链接添加一个类.
Fancybox工作正常,只要我不接beforeLoad电话.添加后,页面只需重新加载窗口,绕过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会从粘贴在这里的东西改变,因为我继续像一个带键盘的mackeral一样捶打.;-)
任何帮助将不胜感激,并提前感谢您在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'
});
});
Run Code Online (Sandbox Code Playgroud)