这是我拥有的代码(到目前为止)。我已经成功地直接提醒来自大图像 url 的值。我希望能够将值作为对象返回给另一个变量,但没有成功。我究竟做错了什么?
$.fn.extend({
getBgImage: function(callback){
var path = $(this).css('background-image').replace('url', '').replace('(', '').replace(')', '').replace('"', '').replace('"', '');
var tempImg = $('<img />');
tempImg.hide(); //hide image
tempImg.bind('load', callback());
$('body').append(tempImg); // add to DOM before </body>
tempImg.attr('src', path);
$('#tempImg').remove(); //remove from DOM
},
jZoom: function(){
var swide = $(this).children('.zimg').outerWidth(),
shigh = $(this).children('.zimg').outerHeight(),
large = $(this).attr('href');
$(this).after('<div class="mousearea" style="width:'+swide+'px;height:'+shigh+'px;cursor:move;z-index:99;opacity:0;position:absolute;top:0;left:0;"></div>').parent('.zoom').after('<div class="large" style="background-image:url('+large+');"></div>');
var limg = $(this).parent('.zoom').next('.large').getBgImage(function(){
var y = $(this).height(), x = $(this).width();
alert(x+' '+y); // this alerts the values as expected
//return {x: x, x: y}; This is what I attempted to return the values
});
//alert(limg.x); and this is where i check to see if the object are available but get undefined
}
});
$(function(){
$('.zoomme').each(function(){
$(this).jZoom();
});
});
这只是一项正在进行的工作,主要是为了这样做,但想知道到目前为止我哪里出错了。
提前致谢。