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

发布于 2024-12-28 13:44:38 字数 1747 浏览 0 评论 0原文

我正在使用具有图像缩放功能的 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 函数。 axzoomer ('imageLoaded'); 函数可以从 js 访问,它在加载小图像时调用:

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

但是在 imageLoaded 内部(在 axzoomer.js 函数中,从第 382 行开始)我可以未达到 ZoomInOut 函数,在初始加载时缩放图像。

I'm using a jquery file which has a image zoom functionality:

http://www.albanx.com/jslibs/axzoomer.js

Everything is working fine. But now i need a feature which is not included with the plugin.
On the zoom activating event the default zoom level should be changed.

I've tryied something like this:

imageLoaded:function()
{
    return this.each(function()
    {
        var $this = $(this);
        $this.zoomInOut(1.5);

        // zoomInOut(1.5);
    });
},

But no luck... Since i'm not sure how the functions are working in jQuery, and the zoomInOut is the function inside function as i figured out...

Any help is appreciated.

UPDATE

The function displayed before is integrated into this js file:

http://www.ifmi.lt/public/axzoomer/axzoomer-1.5.js ( Line 382 ).

For those who does not know hot the axzoomer works: you need to provide 2 images one in normal size, another the big size for zoom. Then the initial zoom starting by scaling the small image, when the scale of image is more than 1.2 then the big image is loading.

In my code since i'm using the jquery.reel library also i customized a bit the axzoomer approach. When zoom button is clicked then this function is being called:

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':''
   });
}

After the small image has been loaded, the initiateZoom function is called.
The axzoomer ( 'imageLoaded' ); function is reachable from js, it is called when the small image is loaded:

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

But inside of the imageLoaded ( in the axzoomer.js function starting on line 382 ) i can not reach the zoomInOut function, to zoom the image on initial load.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘虞初梦 2025-01-04 13:44:39

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

这是解决方案。

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

  1. 添加了新的设置参数:initialZoom(第32行)
  2. 添加了对initialZoom参数的检查(第382行)

新功能检查initialZoom参数,如果存在,当 ax-zoomer 初始化时,将图像从图像中心缩放一定的量。

okay, made a different approach to the problem and it was solved in no time.

Here is the sollution.

the file: http://www.ifmi.lt/public/axzoomer/axzoomer-1.5+.js

  1. Added new setting parameter: initialZoom ( line 32 )
  2. Added the checking for the initialZoom parameter ( line 382 )

The new functionality checks for the initialZoom parameter, and if it exists, zooms the image by that amount from the center of the image when the ax-zoomer initializes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文