|
蓝森林 http://www.lslnet.com 2006年8月25日 8:28
javascript中超链接rel问题?
想使用AJAX做个相册,缩略图使用LightBox效果,却碰到问题。请高手帮助解决。
在网页加载时写的链接如:
<div id="dsvp">
<script language="javascript" type="text/javascript">
document.write("<a href='images/image-1.jpg' rel='lightbox[roadtrip]'>image #1</a>");
</script>
</div>
这个链接可以使用Lightbox效果。可如果在点击下调用函数写下的链接却不行,代码如下:
<script>
function show()
{
document.getElementById("reg").innerHTML ="<a href='images/image-1.jpg' rel='lightbox[roadtrip]'>image #1</a>";
}
</script>
<div id="lef"><a href="javascript void:show();">显示缩略图</a></div>
<div id="reg"></div>
这样通过SHOW()写入的链接点击后不能实现Lightbox效果,而是转到一个新页面直接调用其中的图片呢?请问如何解决。谢谢
同理,相册中在点击左栏的列表时,调用XML和XSL文件生成的HTML格式的缩略图列表写入右栏中,也不能实现其功能。
具体如下:
在XSL文件中在缩略图链接中加入使用lightbox特效,如:
<xsl:for-each select="mg">
<a href="mgs/b/0301.jpg" rel="lightbox" title="我的图片">
<xsl:value-of select="name"/>
</a>
</xsl:for-each>
在网页中点击左栏列表中一个链接时调用函数,使用javascript脚本将XML与XSL结合写入网页中的右边的DIV中:
document.getElementById("eg").innerHTML=xmdoc2.transformNode(xsldm);
同样不会实现其效果。
|
因为看不到所有代码所以无法断言,但是这里的 rel 应该只是为了其他 JS 使用而临时储存的一个变量而已,本身不具有任何功能。估计在 window.onload 的事件中有对所有 link rel 的处理。所以你这样写肯定是不会有效果的。建议你仔细看下 Lightbox效果 是如何实现的,然后再做相应修改 |
谢谢解答,有对Lightbox有研究的朋友,帮忙改一下Lightbox中的JS代码吧?我的基础差一些,看的头晕。相关的源代码及图片可到其官方网站下载:http://www.huddletogether.com/projects/lightbox2/
|
|