关于-9999em来隐藏元素的问题

http://www.zhangxinxu.com/stu...
看到了大神的代码,想知道为什么要这样来隐藏元素,是有什么好处吗

eleLeftMenuTit.store("display", true).addEvent("click", function() {

    var eleTarget = $(this.getProperty("data-rel"));

    if (eleTarget) {

        if (this.retrieve("display")) {

            eleTarget.setStyles({

                position: "absolute",

                left: "-9999em"    

            });

            this.setProperty("title", "展开").getElement(".u").removeClass("u29").addClass("u39");

            this.store("display", false);

        } else {

            eleTarget.setStyle("position", "static");

            this.setProperty("title", "收起").getElement(".u").removeClass("u39").addClass("u29");

            this.store("display", true);

        }

        //存储

        funStoreDisplay();

    }

    return false;

});


慕妹3146593
浏览 434回答 1
1回答

慕桂英3389331

有时候需要一个东西处于非 display: none 状态,但是又要隐藏,就只好设置一个绝对位置,把它放到浏览器容器外面去。如果是一个正的很大的值也可以,但是控制不好会出现滚动条……所以给一个远大于该 DOM 宽度的负值,就能达到目的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript