2012-12-24 26 views
5

我有這樣的jQuery的功能:如何調用一個jQuery之類的函數在JavaScript

$('.scrollToLoginBox').click(function(){ 
    $('html, body').animate({scrollTop: $("#LoginBox").offset().top-5}, 'slow');     
}); 

我不希望它作爲一個階級,我想可以這樣調用它:onClick="scrollTo(id);"

所以,我怎麼可以把函數的javascript格式:

function scrollTo(id){ 
    $('html, body').animate({scrollTop: $("#'+id+'").offset().top-5}, 'slow'); 
} 

由出版商編輯:

我不討厭你們; o)我感謝你們所有的答案,但我並不是想要得到這個身份證。另一方面,我正在嘗試構建上面發佈的相同功能。所以,單擊我將發送id(我有Ex。Login或LoginBox),以便該函數將緩慢滾動到錨點(id = Login或LoginBox)。

現在我要叫它如下:class =「scrollToLoginBox」,代替我想稱之爲ONCLICK =「scrollTo(‘LoginBox’);

我有20層相同的功能,如以上所述,另一個我有和不想要的例子是:class =「scrollToSettings」,而我想調用它onClick =「scrollTo('LoginBox');或的onClick =「scrollTo(‘設置’);

  $('.scrollToSettings').click(function(e){ 
     $('html, body').animate({scrollTop:$("#settings").offset().top-5}, 'slow');   
     return false;  
    }); 

    $('.scrollToFaqs').click(function(e){ 
     $('html, body').animate({scrollTop:$("#formCode").offset().top-5}, 'slow');   
     return false;  
    }); 

我想只有一個函數,它的ID我只是不知道如何將ID傳遞給該jQuery的功能; O)

+2

你爲什麼想用'onclick'稱呼它?只是讓該事件處理程序更通用。 – Blender

+3

...爲什麼?你爲什麼這麼恨我們? –

+0

我不討厭你; o)我很欣賞所有的答案,但我並不想獲得這個id。另一方面,我試圖建立一個功能。 – Sebastian

回答

8

如果你想通過ID項被點擊,那麼你需要使用this.id

Live Demo

onClick="scrollTo(this.id);" 

我如果你想傳遞some other control的id,那麼你簡單地把id作爲字符串傳遞。

onClick="scrollTo('idOfHTMLElement');" 

編輯根據意見,從HTML元素將值傳遞給JavaScript函數。

數據屬性用於保持自定義屬性,並可以 在jQuery函數使用data()功能訪問。

的Html

<div class="scrollToCal" data-idtopass="Anchor">click me to go to Anchor</div>​ 

的Javascript

jQuery(document).ready(function($) { 

    $('.scrollToCal').click(function() { 

     $('html, body').animate({ 
      scrollTop: $('#' + $(this).data('idtopass')).offset().top - 5 
     }, 'slow'); 
     return false; 
    }); 

});​ 
+0

感謝阿迪爾,我想這不過對於jQuery函數我出版。我已經有了ID。在我的例子中,它將是:scrollTo('Login');那麼,如何修改我的功能來接受這種調用方式呢? – Sebastian

+0

你可以做小提琴嗎?因爲我無法得到你想要的東西。 – Adil

+0

嗨阿迪爾,我用Palash代碼,並開始消除ID部分。我注意到,甚至沒有警報的作品。我處於無衝突模式。 [這在我的小提琴(http://jsfiddle.net/sebababi/pGxP8/) – Sebastian

相關問題