Seb*_*ian 5 javascript jquery javascript-events
我有这个jQuery函数:
$('.scrollToLoginBox').click(function(){
$('html, body').animate({scrollTop: $("#LoginBox").offset().top-5}, 'slow');
});
Run Code Online (Sandbox Code Playgroud)
我不希望它作为一个类,我希望能够像这样调用它: onClick="scrollTo(id);"
那么,我该如何将函数放在javascript格式中:
function scrollTo(id){
$('html, body').animate({scrollTop: $("#'+id+'").offset().top-5}, 'slow');
}
Run Code Online (Sandbox Code Playgroud)
由出版商编辑:
我不讨厌你们; o)我很欣赏你们的所有答案,但我并不是想要得到这个.另一方面,我正在尝试构建我上面发布的相同功能.所以,在点击时我将发送id(我有Ex.Login或LoginBox),这样该函数将慢慢滚动到锚点(id = Login或LoginBox).
现在我必须这样调用它:class ="scrollToLoginBox",而不是我想把它称为onClick ="scrollTo('LoginBox');
我有20个相同的功能,如上所述,每个id一个.我拥有和不想要的另一个例子是:class ="scrollToSettings",而不是我想称它为onClick ="scrollTo('LoginBox');或onClick ="scrollTo('Settings');
$('.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;
});
Run Code Online (Sandbox Code Playgroud)
我想只有一个带id的函数.我只是不知道如何将id传递给这个jQuery函数; o)
如果要将id传递给被单击的项目,则需要使用 this.id
onClick="scrollTo(this.id);"
Run Code Online (Sandbox Code Playgroud)
如果你想传递id some other control
然后你简单地将id作为字符串传递.
onClick="scrollTo('idOfHTMLElement');"
Run Code Online (Sandbox Code Playgroud)
根据注释进行编辑,用于将值从html元素传递到javascript函数.
数据属性用于保存自定义属性,可以在jQuery函数使用data()函数中访问.
HTML
<div class="scrollToCal" data-idtopass="Anchor">click me to go to Anchor</div>?
Run Code Online (Sandbox Code Playgroud)
使用Javascript
jQuery(document).ready(function($) {
$('.scrollToCal').click(function() {
$('html, body').animate({
scrollTop: $('#' + $(this).data('idtopass')).offset().top - 5
}, 'slow');
return false;
});
});?
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
290 次 |
最近记录: |