如何创建一个调用函数的函数

时间:2012-01-23 10:24:33

标签: javascript jquery image-manipulation image-zoom

我正在使用具有图像缩放功能的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行)。

对于那些不知道热的axzoomer工作:你需要提供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函数。 可以从js访问axzoomer ( 'imageLoaded' );函数,在加载小图像时调用它:

function initiateZoom() 
{
    $('#zoom-content').axzoomer ( 'enable' );
    $('#zoom-content').axzoomer ( 'imageLoaded' );
}

但是在imageLoaded内部(在第382行开始的axzoomer.js函数中)我无法到达zoomInOut函数,在初始加载时缩放图像。

1 个答案:

答案 0 :(得分:1)

好吧,对这个问题采取了不同的方法,很快就解决了。

这是溶剂。

文件:http://www.ifmi.lt/public/axzoomer/axzoomer-1.5+.js

  1. 添加了新的设置参数:initialZoom(第32行)
  2. 添加了对initialZoom参数的检查(第382行)
  3. 新功能会检查initialZoom参数,如果存在,则在ax-zoomer初始化时,将图像从图像中心缩放。