0

我正在尝试创建一个简单的小型 jquery 函数,但我不明白如何解决这个问题,也无法在网上找到简单的资源来阅读如何使用两个变量创建简单函数。我的代码是

jQuery(function ($) {
    function infoText(menuitem,textinfo) {
        menuitem.click(function(){
            textinfo.fadeIn(300);
        }
    }

    infoText('.come-realizzo','#come-realizzo');
    infoText('.works','#works');

});

当我调用该函数时,我收到此错误:

Uncaught SyntaxError: Unexpected identifier on 9 line ( infoText('.come-realizzo','#come-realizzo'); )。

谢谢!

4

3 回答 3

2

您正在传递一个字符串,您需要使用$(/*selector*/)如下所示将它们转换为 jquery 对象

改变

menuitem.click(function () {
  textinfo.fadeIn(300);
}

$(menuitem).click({
  $(textinfo).fadeIn(300);
});
 ^ missing to close the click function
于 2013-09-30T13:45:31.780 回答
0

您正在传递字符串而不是标识符,请使用以下代码

infoText($('.come-realizzo'),$('#come-realizzo') );

或者如果您想将文本而不是选择器传递给您的函数,则可以使用其他解决方案

  $( menuitem).click(function(){
  $( textinfo).fadeIn(300);
于 2013-09-30T13:46:54.270 回答
0

您在单击处理程序函数的末尾缺少一个结束括号。

您实际上将无法工作,因为您没有在infoText函数中引用 jQuery 对象,两种可能的解决方案:

  • 将 jQuery 对象作为参数传递
  • 从传递的字符串中获取 jQuery 对象

第一的:

jQuery(function ($) {
    function infoText($menuitem,$textinfo) {
        $menuitem.click(function(){
            $textinfo.fadeIn(300);
        });
    }

    infoText($('.come-realizzo'),$('#come-realizzo'));
    infoText($('.works'),$('#works'));

});

第二:

jQuery(function ($) {
    function infoText(menuitem,textinfo) {
        $(menuitem).click(function(){
            $(textinfo).fadeIn(300);
        });
    }

    infoText('.come-realizzo','#come-realizzo');
    infoText('.works','#works');

});
于 2013-09-30T13:54:45.717 回答