2012-07-03 3 views
0

Сценарий Jquery Lightbox и примеры приведены здесь: http://www.aerowebstudio.net/codecanyon/jquery.lightbox/.Динамическое изменение параметра высоты в плагине JQuery

Я передаю несколько параметров JQuery, который управляет плагином лайтбокса в id из гиперссылки. Последняя подстрока (substrk [2]) на id - это высота. Я могу передать значение, но высота плагина простирается выше высоты экрана. Если я не динамически вставляю высоту и не ставил статическое число, плагин отлично работает.

Я также попытался задержать функцию от стрельбы с таймером только в том случае, была проблема, но она не будет стрелять по всем

<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

Try:

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

Кроме того, просто сделать быстро проверить, на каком substrk [2] возвращается, но бросать в:

alert(substrk[2]); 

Возможно, это было так же просто, как выбросить что-то странное.

+0

Должен был использовать if else if, чтобы решить проблему. – Patriotec

Смежные вопросы