Почему функция, созданная в одном файле js, не работает при вызове или даже создается в другом? - PullRequest
1 голос
/ 09 октября 2011

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

Вы видите, что это не работает здесь: http://syndex.me

Я прокомментировал соответствующие частииз сценариев, чтобы его было легко найти.

У меня есть сценарий изменения размера изображения, который уменьшает высоту изображения , если изображение больше, чем окно.Он работает с любым изначально загруженным изображением, , но не с недавно загруженными сообщениями, введенными моим скриптом бесконечной прокрутки -> http://marckremers.com/syndex/js/jquery.syndex.js

. Используется «.each» и внутри него: «.load "" .load "не заполняет структуру DOM, поэтому я не могу связать ее с событием" .live "или" .delegate ".

Поэтому мой следующий шаг - попытатьсяи снова включите эту функцию непосредственно в сценарии бесконечной прокрутки.Конечно, это имеет смысл?Этот скрипт здесь http://marckremers.com/syndex/js/jquery.infinitescrollfortumblr.js

Если я копирую и вставляю рабочий скрипт из jquery.syndex.js, я получаю ошибку за ошибкой, как будто я говорю на другом языке.Сам код не мой, и он использует довольно абстрактные переменные для описания всего.

Как настроить функцию изменения размера изображения для работы в infinitescrollfortumblr.js?

Ответы [ 2 ]

0 голосов
/ 09 октября 2011

Вернитесь к стандартному сценарию бесконечной прокрутки, затем поместите сценарий изменения размера в обратный вызов:

$(elem).infinitescroll(options,function(){
  // your resize code
});
0 голосов
/ 09 октября 2011

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

Либо поместите их в глобальную область видимости (или просто создайте для них собственный объект пространства имен:

NAMESPACE = NAMESPACE || {};
NAMESPACE.myfunc = function() { ... };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...