Как создать функцию, которая вызывает функцию
-
12-11-2019 - |
Вопрос
Я использую файл jquery, который имеет функцию масштабирования изображения:
http://www.albanx.com/jslibs/axzoomer.js
Все работает нормально.Но теперь мне нужна функция, которой нет в плагине.В событии активации масштабирования уровень масштабирования по умолчанию должен быть изменен.
Я пробовал что-то вроде этого:
imageLoaded:function()
{
return this.each(function()
{
var $this = $(this);
$this.zoomInOut(1.5);
// zoomInOut(1.5);
});
},
Но не повезло...Поскольку я не уверен, как функции работают в jQuery, а ZoomInOut - это функция внутри функции, как я понял...
Любая помощь приветствуется.
ОБНОВЛЯТЬ
Функция, показанная ранее, интегрирована в этот js-файл:
http://www.ifmi.lt/public/axzoomer/axzoomer-1.5.js (строка 382).
Для тех кто не знает как работает аксзумер:вам необходимо предоставить 2 изображения: одно нормального размера, другое большого размера для увеличения.Затем начальное масштабирование начинается с масштабирования маленького изображения. Когда масштаб изображения превышает 1,2, загружается большое изображение.
В моем коде, поскольку я использую jquery.reel
Библиотеку также я немного модифицировал подход axzoomer.При нажатии кнопки масштабирования вызывается эта функция:
function zoomImage ()
{
var value = Number ( $('#image360').attr('src').split ( '_' )[1].split ( '.' )[0] );
$('#zoom-content').load( initiateZoom );
$('#zoom-content').attr ( 'src', 'products/1/' + value + '.jpg' );
$('#zoom-content').attr ( 'src-big', 'product/1/zoom/' + value + '.jpg' );
$('#zoom-content').axzoomer({
'maxZoom':3,
'opacity':0.5,
'sensivity':17,
'showControls':false,
'zoomIn':'',
'zoomOut':''
});
}
После загрузки небольшого изображения initiateZoom
функция вызывается.А axzoomer ( 'imageLoaded' );
функция доступна из js, она вызывается при загрузке небольшого изображения:
function initiateZoom()
{
$('#zoom-content').axzoomer ( 'enable' );
$('#zoom-content').axzoomer ( 'imageLoaded' );
}
Но внутри imageLoaded (в функции axzoomer.js, начиная со строки 382) я не могу получить доступ к функции ZoomInOut, чтобы увеличить изображение при начальной загрузке.
Решение
окей, подошел к проблеме по-другому и она решилась в кратчайшие сроки.
Вот решение.
файл: http://www.ifmi.lt/public/axzoomer/axzoomer-1.5+.js
- Добавлен новый параметр настройки:начальныйZoom (строка 32)
- Добавлена проверка параметра InitialZoom (строка 382).
Новая функция проверяет параметр InitialZoom и, если он существует, увеличивает изображение на эту величину от центра изображения при инициализации ax-zoomer.