动态更改JQuery插件中的height参数

时间:2012-07-03 04:48:57

标签: javascript jquery html

Jquery Lightbox脚本和示例如下:http://www.aerowebstudio.net/codecanyon/jquery.lightbox/

我将一些参数传递给JQuery,JQuery控制超链接中id的灯箱插件。 id上的最后一个子串(substrk [2])是高度。我可以传递值,但插件的高度超出屏幕高度。如果我没有动态插入高度并输入静态数字,插件工作正常。

我还试图延迟使用计时器触发功能,以防万一出现问题,但它根本不会发射

<a class="lk" id="blah_blahh_68" href="javascript:void(0);">some link</a>

$(function(){
$(".lk").click(function(){
var lik = this.id;
var substrk = lik.split('_');
var intheight = substrk[2];
var strlinkk = "blah.php?id=" + substrk[0] + "&id2=" + substrk[1];
$.lightbox(strlinkk,{
'width'       : 474,
'height'      : intheight,
'autoresize'  : false
});
return false;
});
});

不幸的是,我没有看到一个很好的方法来做到这一点。将'px'连接到字符串不起作用,也不添加短暂的超时

我必须做IF / ELSE语句来解决我的问题。 IF THEN语句有效,但它并不漂亮。这对我有用,因为我知道高度增量为68px

$(function(){
$(".lk").click(function(){
var lik = this.id;
var substrk = lik.split('_');
var intheight = substrk[2];
var strlinkk = "blah.php?id=" + substrk[0] + "&id2=" + substrk[1];

if (intheight=68){

$.lightbox(strlinkk,{
'width'       : 474,
'height'      : 68,
'autoresize'  : false
});
return false;
});
});

}else if (intheight=136){

$.lightbox(strlinkk,{
'width'       : 474,
'height'      : 136,
'autoresize'  : false
});
return false;
});
});

}

1 个答案:

答案 0 :(得分:1)

尝试:

var intheight = substrk[2] + "px";

另外,只需快速检查substrk [2]返回的内容,但输入:

alert(substrk[2]);

它可能就像扔掉一些奇怪的东西一样简单。