我用clearbox实现图片的特效,实现的方式主要是在a标签中rel="clearbox"即可,我用html写了一个,点击后有特效,没有任何问题;但是我用Dom动态创建节点时,却无法实现特效功能,点击后在新网页窗口打开了该图片。很是郁闷。
请高手指教一下。下面是HTML代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题文档</title>
<link href="css/clearbox.css" rel="stylesheet" type="text/css" />
<script src="js/clearbox.js" type="text/javascript"></script>
<script>
function init(){
alert("entering...");
    
var target = document.getElementById("target");
var mya = document.createElement("a");
mya.href="images/cb_sample_01.jpg";
mya.rel="clearbox[test1]";
// eval('mya.rev="clearbox[test1]"');
//alert(mya.rev);
var ac = document.createElement("img");
ac.src="images/cb_sample_01_tn.jpg";
ac.border=0;
mya.appendChild(ac);
target.appendChild(mya);
//var str="<a href='images/cb_sample_01.jpg' rel='clearbox[test1]'><img src=\"images/cb_sample_01_tn.jpg\" border="0" /></a>"
//eval(str);}</script>
</head><body>
<div id="target">
<a href="images/cb_sample_01.jpg" rel="clearbox[test1]"><img src="images/cb_sample_01_tn.jpg" border="0" onclick="alert(this.parentElement.rel);"/></a>
</div>
<button onclick="init();">test</button>
</body>
</html>

解决方案 »

  1.   

    哈哈,红字的事件你没动态加上啊
    <img src="img/2.jpg" border="0" onclick="alert(this.parentElement.rel);"/>
      

  2.   

    红字的东西只是我用来测试的,用来比较返回的两个rel值是否相等
      

  3.   

    上面的问题我已经解决了,原来是要在页面加载的时候调用onload事件,<body onload="init();">就可以了,用onclick事件来触发是不行的
      

  4.   

    不过又引发了新的问题:
    我的动态创建标签是通过解析ajax返回后的文本来动态创建的,二上面的操作需要我在页面加载时就要调用这个方法,矛盾?我该怎么写?详细解释一下:
    init方法是一个ajax请求后的处理函数,而要实现该特效的话需要在onload中调用该方法,
    请问我该怎么写,既可以满足init方法在onload是被加载,又可以作为ajax的处理函数呢?
      

  5.   

    得到AJAX的数据并解析,之后组合成URL字串,例如
    1、取得ajax参数并解析;
    2、var url="本页.asp?img1src="+aaa+"&img2src="+bbb............
    3、location.href=url刷新网页
    ----------------------------
    或者AJAX得到数据后写COOKIE,然后reload页面,读出COOKIE...
      

  6.   

    该问题我已经解决,后来使用的是lightbox2