Я использую несколько хороших плагинов из jQuery для использования сайтов на основе AJAX. Теперь я столкнулся с проблемой, что я хотел бы использовать livequery для определения моего Slimbox. Проблема в том, что он не получает мои группы, как указано в функции linkFiler.
$(document).ready(function ()
{
$('a[rel^="lightbox"]').livequery(function()
{
$(this).slimbox(null, function(el) // link mapper
{
return [el.href, el.title + '<br/><a href=\"' + el.href + '\">Download</a>'];
}
, function(el) // links filter
{
return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
});
});
});
Что не так? На одной из моих страниц (Биография) slimbox работает только при обновлении страницы на этом сайте, но не при нажатии на мои страницы. Группы не работают в разделе Дискография сайта.
Части биографических и дискографических изображений следующие:
<a href="albumCover.jpg" rel="lightbox-disco"><img src="albumCover_thumb.jpg" alt=""></a>
<a rel="lightbox" href="bandPic.png"><img style="float:right;margin-left:1em;" src="bandPic_thumb.png" alt=""></a>
Заранее спасибо!
UPDATE
Я нашел мою проблему в коде slimbox, потому что он использует this
в качестве ссылок. Таким образом, каждый раз, когда запускается livequery, this
перезаписывается и должен фактически содержать полный селектор. Может быть, я могу решить это, просто сказав:
$('a[rel^="lightbox"]').livequery(function()
{
$('a[rel^="lightbox"]').slimbox(null, function(el) // link mapper
...
Но это может привести к тому, что livequery будет много раз запускать слимбокс, что является нежелательным поведением. Есть ли лучший способ заставить его не так часто стрелять?
UPDATE2
Что касается других вопросов на страницах биографии. Обновления LiveQuery об удалении изображения, но все другие сайты сделаны правильно при добавлении изображений ... Как странно ...