expandTitle (...) не является функцией - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь повторно использовать эту часть, но консоль продолжает регистрировать эту ошибку.Я удостоверился, что у меня нет никаких опечаток в имени функции.

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

    function expandTitle(selector) {
        let param = $(selector),
            paramOverlay = $(selector + '>.overlay');
        let overlayHeight = getOuterHeight(param),
            overlayWidth = getOuterWidth(param);

        param.css({
            'height': overlayHeight
        });

        param.hover(
            function () {
                paramOverlay.animate({
                    'width': overlayWidth
                });
            },
            function () {
                paramOverlay.animate({
                    'width': 0
                });
            }
        );
    };

    ...

    (function () {
        expandTitle('#viewPointTitle>h1')();
    })();
});

Заранее спасибо: D

1 Ответ

0 голосов
/ 19 мая 2018

Вам нужно использовать только expandTitle('#viewPointTitle>h1'); вместо expandTitle('#viewPointTitle>h1')();, так как добавление () означает, что первая функция expandTitle возвращает другую функцию, а затем эта возвращенная функция вызывается немедленно.И поскольку вы не вернете никакой функции из expandTitle, удалите эту ().

$(document).ready(function () {
    function expandTitle(selector) {
       console.log(selector);
    };

    (function () {
        expandTitle('#viewPointTitle>h1');
    })();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Вот как () работает, когда вы возвращаете функцию из вызываемой функции:

$(document).ready(function () {
    function expandTitle(selector) {
      return function test(){
       console.log('inner function log');
      }
    };

    (function () {
        expandTitle('#viewPointTitle>h1')();
    })();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...