2009-08-27 3 views
1

У меня есть код, который заменяет href с помощью Jquery, .attr ({href: newpath}); и я использую Shadowbox. После изменения href и загрузки shadowbox теневой блок загружает старый href вместо нового.Shadowbox загружает старый href и не новый href

Например:

<a id ="shadowboxlink" href="images/firstimage.jpg" rel="shadowbox">shadowbox link</a>

тогда JQuery будет что-то вроде этого:

$("#shadowboxlink").attr({href : newpath}); //whereas var newpath is a string like "images/secondimage.jpg"

так, то после того, как JQuery выполняется, shadowbowlink имеет правильную HREF изображений/secondimage.jpg, но когда вы загружаете его, теневой блок загружает firstimage.jpg

У кого-нибудь есть понимание? Благодаря! =) Ken

ответ

0

Просто взглянув на информацию, представленную на веб-сайте shadowBox, это звучит так, как будто вы добавляете в свою разметку вторую цифру <a>.

<a id ="shadowboxlink" href="images/firstimage.jpg" rel="shadowbox[gallery]">shadowbox link</a> 
<a id ="shadowboxlink" href="images/second.jpg" rel="shadowbox[gallery]">shadowbox link</a> 

И убедитесь, что вы добавляете [галерея] (или что вы хотите назвать его), чтобы связать эти два изображения друг с другом.

Если это не то, что вы хотите сделать, попробуйте запустить код Shadowbox.init(); еще раз после изменения href.

+0

извините, я не очень понимаю, что вы имели в виду «добавив второй в моей разметке» shadowbox.init() Didnt 'work = /, shadowbox по-прежнему загружает первый href, а не второй href – Ken

0

Решение должно использовать «Shadowbox.setup» и перезагружать его всякий раз, когда вы нажимаете что-либо.

Спасибо всем.

4

попробуйте очистить кэш и настройки после изменения HREF атрибута

$("#shadowboxlink").attr({href : newpath}); //whereas var newpath is a string like "images/secondimage.jpg"; 
Shadowbox.clearCache(); 
Shadowbox.setup(); 
+0

Это правильный ответ - @ken, вы действительно должны отметить это как правильно, так что можете получить то преимущество, которое он заслуживает :) – iamkeir

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