我有这个jQuery函数:
$('.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。登录或LoginBox),以便函数将缓慢滚动到锚点(id=Login或LoginBox)。
现在我不得不这样叫它: class="scrollToLoginBox",我想叫它onClick="scrollTo('LoginBox');
我有20个与上面相同的函数,每个id一个。另一个我有但不想要的例子是: class="scrollToSettings",相反,我想称它为onClick="scrollTo('LoginBox');或onClick=“scrollTo(‘LoginBox’);
$('.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)
发布于 2012-12-24 17:29:51
如果想要将id传递给被单击的项,则需要使用this.id
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;
});
});https://stackoverflow.com/questions/14019494
复制相似问题