我已经实现了滑块的目标:
jsFiddle:http: //jsfiddle.net/YeP4Y/5/
第 230 行:
magnifyexternal: function($tracker, newpower, zoomRange)
{
var specs=$tracker.data('specs')
//alert(JSON.stringify(specs));
var magnifier=specs.magnifier, od=specs.imagesize, power=specs.curpower
var magnifier2=specs.magnifier2, od=specs.imagesize, power=specs.curpower
var nd=[od.w*newpower, od.h*newpower] //calculate dimensions of new enlarged image within magnifier
magnifier.$image.css({width:nd[0], height:nd[1]});
magnifier2.$image.css({width:nd[0], height:nd[1]});
//alert(JSON.stringify({width:nd[0], height:nd[1]}));
specs.curpower=newpower //set current power to new power after magnification
specs.$statusdiv.html('Current Zoom: '+specs.curpower);
jQuery("input:radio[name=radioZoomLevel][value="+newpower+"]").attr('checked', true);
this.showstatusdiv(specs, 0, 500);
$tracker.trigger('mousemove');
},
第 402 行附近:
$("#imageZoomLevel").bind('change', function(){
fiz.magnifyexternal($tracker,$(this).val(), setting.zoomRange)
});
这不完全是您想要的(因为它没有在外部绑定,仅在内部绑定)但它可以工作。
此外,为了使其在外部工作,我会执行以下操作:
- 找到一种方法来获取插件的实例(例如,通过调用 $('selector').imageZoomCompare('get')
- 在这个实例上调用 magnifyexternal() 方法