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;
});
});
}