Shadowbox загружает старый href, а не новый href

У меня есть код, который заменяет href с помощью Jquery, .attr({ href : newpath }); и я использую Shadowbox. После изменения href и загрузки shadowbox, shadowbox загружает старый 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 images/secondimage.jpg, но когда вы его загружаете, shadowbox загружает firstimage.jpg

У кого-нибудь есть понимание? Спасибо! =) Кен


person Ken    schedule 27.08.2009    source источник


Ответы (3)


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

$("#shadowboxlink").attr({href : newpath}); //whereas var newpath is a string like "images/secondimage.jpg";
Shadowbox.clearCache();
Shadowbox.setup();
person ikary    schedule 10.11.2010
comment
Это правильный ответ - @ken, ты действительно должен отметить это как правильный, чтобы получить признание, которого он заслуживает :) - person iamkeir; 06.08.2012

Просто взглянув на информацию, представленную на веб-сайте 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.

person idrumgood    schedule 27.08.2009
comment
извините, я не очень понимаю, что вы имели в виду, добавляя второй ‹a› в мою разметку, shadowbox.init() не работал =/, shadowbox все еще загружает первый href, а не второй href - person Ken; 28.08.2009

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

Всем спасибо.

person Ken    schedule 28.08.2009