我有一個可拖動的div,當你放下它時,它會給你它的左邊和頂邊的值,如果它包含特定的類。調用javascript函數獲取元素的偏移量
例子:
$("div").draggable({
cursor:'move',
stop: function() {
if ($(this).hasClass('cool')) {
var state = "Class cool exists"
}
var b = $(this);
var bl = b.offset().left;
var bt = b.offset().top;
console.log(" Left:" + bl + " Top:" + bt + " Class:" + state);
}});
和小提琴:http://jsfiddle.net/sq4XZ/
現在這個工作剛剛找到,但我想打電話給在單獨的功能所有這些方法,因爲在我的實際腳本我不得不調用多次按鈕點擊功能,徘徊,基本上不只是你放棄div。
因此,我所做的是:
function cool(){
if ($(this).hasClass('cool')) {
var state = "Class cool exists"
}
var b = $(this);
var bl = b.offset().left;
var bt = b.offset().top;
console.log(" Left:" + bl + " Top:" + bt + " Class:" + state);
}
$("div").draggable({
cursor:'move',
stop: function() {
cool();
}});
這樣每次我需要得到這些值我會叫涼()函數。
的jsfiddle:http://jsfiddle.net/5bQ4d/
現在,如果你是一個JavaScript大師你現在應該知道,這不應該的,因爲$(這)工作。如果我用$('div')替換$(this)就可以了。但是當我調用cool()時,它不知道哪個$(this)是。
在我的實際頁面中,我有很多這樣的div,所以當我調用cool()時,我必須傳遞我正在討論的div id/name/class。 那麼,如何將div name/id/class傳遞給cool()函數,以便它知道$(this)表示我點擊/懸停/放下的div?
感謝
哇。剛剛學到了新東西。非常感謝你 – jQuerybeast 2012-01-07 22:41:23