0

Jquery Lightboxスクリプトと例は次のとおりです:http ://www.aerowebstudio.net/codecanyon/jquery.lightbox/ 。

ハイパーリンクからIDのライトボックスプラグインを制御するJQueryにいくつかのパラメーターを渡します。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;
});
});

}
4

1 に答える 1

1

試す:

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

また、substrk [2]が何を返しているかを簡単に確認しますが、次のものをスローします。

alert(substrk[2]);

何か変なものを投げるのと同じくらい簡単かもしれません。

于 2012-07-03T04:56:00.887 に答える