我有几个链接都使用类似的功能,所以我想调用该函数并从进行调用的对象传递它的属性。我该怎么做呢?
这是我的代码:
$('.flash').click(function(){
getDimensions($(this));
swfobject.embedSWF(fileRef, "myContent", fileWidth, fileHeight, "9.0.0");
});
function getDimensions(linkRef){
fileHeight = $(linkRef).attr('data-height');
fileWidth = $(linkRef).attr('data-width');
}
我是否只是不恰当地引用$(this)
?
答案 0 :(得分:6)
$('.flash').click(function(){
var dimensions = getDimensions($(this));
swfobject.embedSWF(fileRef, "myContent", dimensions.fileWidth, dimensions.fileHeight, "9.0.0");
});
function getDimensions(linkRef){
return {
fileHeight: $(linkRef).attr('data-height'),
fileWidth: $(linkRef).attr('data-width')
}
}
答案 1 :(得分:1)
如果没有全局变量,则可以返回JSON对象:
$('.flash').click(function(){
var d = getDimensions($(this));
swfobject.embedSWF(fileRef, "myContent", d.width, d.height, "9.0.0"); }
);
function getDimensions(linkRef){
return { "height" : $(linkRef).attr('data-height'),
"width" : $(linkRef).attr('data-width') }
}
答案 2 :(得分:0)
由于您已经将jQuery对象传递给getDimensions函数,因此您无需将参数linkRef包装在getDimensions函数内的另一个$()
函数中。
请改用:
function getDimensions(linkRef){
fileHeight = linkRef.attr('data-height');
fileWidth = linkRef.attr('data-width');
}