做一个相册,要给相片分类,然后全部采用lightbox效果。请教一下,如何才能实现在页面上显示该分类的第一张图片的缩略图,点击就直接弹出覆盖整个页面的效果(也就是原本多图模式最后的效果。我这里不想展示所有图片,只想有第一张,然后又可以下一张上一张)

解决方案 »

  1.   

    可以把原本的所有的节点放在一个div下(.style.display="none"),然后再建一个新的div ,添加onclick 事件,
    使得第一个div的display为“block”,同时将本身的display设为“none”.
      

  2.   

    谢谢你,但我还是不明白。所有的节点?我是一个节点下的文章,想采用组图的方式,然后点击第一张图直接进入lightbox效果,可以观看所有图片。
    或是一个节点下有多篇文章,但我在上一级栏目只调用第一篇文章,然后在lightbox效果中看所有文章。
      

  3.   

    请教2楼,你所说的代码是不是这样:
      <div id='divA' style=‘border: solid 1px red; position: fixed; width: 200px; height: 100px'>
            <a type='button' id='btnA' href='#' onclick='isHide(this)'>这是divA</a>
        </div>
    <script>    function isHide(thisObj) {
            thisObj = thisObj.parentNode;
            var x = getLeft(thisObj) + "px";
            var y = getTop(thisObj) + "px";        thisObj.style.display = 'none';
            if (thisObj.id == 'divA') {            var divB = document.getElementById('divB');
                divB.style.display = 'block';
                divB.style.left = x;
                divB.style.top = y;        } else {            var divA = document.getElementById('divA');
                divA.style.display = 'block';
                divA.style.left = x;
                divA.style.top = y;
            }
        }    // 获取页面元素的Y 坐标
        function getTop(obj) {
            if (!obj) return 0;
            var top = 0;
            while (obj) {
                top += obj.offsetTop;
                obj = obj.offsetParent;
            }
            return top;
        }
        // 获取页面元素的X 坐标
        function getLeft(obj) {
            if (!obj) return 0;
            var left = 0;
            while (obj) {
                left += obj.offsetLeft;
                obj = obj.offsetParent;
            }
            return left;
        }
    </script>