我不確定如何完成我期待的工作,開始時看起來很簡單。在將鏈接內容調入fancybox iframe之前,我想將一個'visited'
類添加到點擊鏈接。
Fancybox工作正常,只要我離開beforeLoad
電話。添加後,頁面只需重新加載窗口,繞過Fancybox。
我不知道我的beforeLoad
函數(這裏稱爲add_visited
)是否被允許使用jQuery(如addClass
),或者我是否需要堅持直JavaScript功能(element.setAttribute("className", "visited")
)。這裏粘貼的代碼是針對jQuery的,其中引用的theClicked
。
所以,你可以看到,我也不知道如何在函數中參考$(this)
。本質上,我想從實際的$.fancybox()
調用中繼承this
。
而且,爲了清楚起見,.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'
});
});
非常好!而已。將'.element'添加到'this',我看到這個班確實被添加了,但是我的鏈接顏色沒有改變。提高CSS的特異性修復了這一點。 非常感謝! – dashard 2012-08-14 19:33:45