2009-08-27 25 views
1

我有一个代码使用jquery替换href,.attr({href:newpath});我正在使用Shadowbox。更改href并加载shadowbox之后,shadowbox会加载旧的href而不是新的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,但是当您加载它时,shadowbox将加载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> 

并确保添加[图库](或任何你想要调用它)将这两个图像相互关联。

如果这不是您要做的事,请在更改href后再次运行Shadowbox.init();代码。

+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