繁体   English   中英

如何在javascript中调用jquery函数

[英]How to call a jquery function like in javascript

我有这个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.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;       
    });

我想只有一个带id的函数。 我只是不知道如何将id传递给这个jQuery函数; o)

如果要将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;
    });

});​

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM