问一下,taobao里一点某一商品后面的checkbox就显示一个对比商品的按扭,那是怎么实现的吗

解决方案 »

  1.   

    点checkbox----->传参数给服务器----->对比后得到对比商品---->回传给客户端---->js以ajax取得
      

  2.   


    <script>
    Array.prototype.remove=function(n){if(isNaN(parseInt(n))) return false;if(n>=this.length || n<0) return false;for(i=n;i<this.length-1;i++) this[i]=this[i+1];this.pop();return true;}
    function getAbsPos( oId, tl ) {
    var o = ((typeof oId) == 'String') ? document.getElementById( oId ) : oId;
    var val = 0;
    while ( o.tagName.toLowerCase() != "body") {
    val += (tl == 'top') ? parseInt( o.offsetTop ) : parseInt( o.offsetLeft );;
    o = o.parentNode;
    }
    return val;
    }var cur = [];function doit(obj){
    var bt = document.getElementById("btn");
    if(obj.checked){
    var t = getAbsPos(obj,"top")+16;
    var l = getAbsPos(obj,"left");
    bt.style.top = t;
    bt.style.left = l;
    bt.style.display = "block";
    cur.push(obj)
    }
    else{
       for(var i =0;i<cur.length;i++){
         if(cur[i]==obj) break;
       }
       cur.remove(i);
       var obj = cur[cur.length-1];
       if(cur.length>0){
     var t = getAbsPos(obj,"top")+16;
     var l = getAbsPos(obj,"left");
     bt.style.top = t;
     bt.style.left = l;
     bt.style.display = "block";
       }
       else bt.style.display = "none";
    }
    }
    </script>
    <form>
    <input type="checkbox" name="" value="" onclick="doit(this);">xxxxxxxxxx
    <input type="checkbox" name="" value="" onclick="doit(this);">xxxxxxxxxx
    <input type="checkbox" name="" value="" onclick="doit(this);">xxxxxxxxxx
    <input type="checkbox" name="" value="" onclick="doit(this);">xxxxxxxxxx
    <input type="checkbox" name="" value="" onclick="doit(this);">xxxxxxxxxx
    </form>
    <input id="btn" type="button" value="对比" style="position:absolute;display:none;">