Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能给我解释一下这个函数的功能吗_Javascript - Fatal编程技术网

Javascript 有人能给我解释一下这个函数的功能吗

Javascript 有人能给我解释一下这个函数的功能吗,javascript,Javascript,我能理解这段代码里发生了什么。有人能给我解释一下发生了什么事吗 我试着分析每个函数,但还是不明白 var animatepage = function() { var elems; var windowHeight; function init() { elems = document.querySelectorAll(".hidden"); windowHeight = window.innerHeight; addEv

我能理解这段代码里发生了什么。有人能给我解释一下发生了什么事吗

我试着分析每个函数,但还是不明白

var animatepage = function() {
    var elems;
    var windowHeight;

    function init() {
        elems = document.querySelectorAll(".hidden");
        windowHeight = window.innerHeight;
        addEventHandlers()
        checkPosition()
    }

    function addEventHandlers() {
       window.addEventListener('scroll', checkPosition);
       window.addEventListener('resize', init)
    }

    function checkPosition() {
        for(var i=0; i < elems.length; i++) {
            var positionTop = elems[i].getBoundingClientRect().top;
            if ((positionTop-windowHeight) <= 0) {
                elems[i].className = elems[i].className.replace(
                    'hidden',
                    'fade-in-element'
                );
            };

        };
    };
    return {
        init: init
    };
};
animatepage().init();

其目的是在页面中的元素变得可见时添加CSS类淡入元素

init查找所有隐藏了CSS类的元素。 AddEventHandler确保如果用户滚动或调整其窗口大小,我们将检查是否有任何新元素可见 checkPosition然后查找当前可见的所有元素,并为它们提供CSS类淡入元素。该类可能会包含一些CSS转换,以使元素慢慢淡入。
您不了解哪一部分?它决定是否在调整窗口大小或滚动页面时显示某些元素。它基本上使元素以“淡入元素”的名称淡入。看起来像是在滚动到视图中时淡入元素的代码。就目前而言,这是一段可怕的代码,因为它在每次resize触发时都会向resize和scroll事件添加不可计数的侦听器。它的工作原理并不是一个教学门户。你可以问一些关于特定编程问题的明确问题,但如果你问这些问题是如何工作的,以及它做了些什么,甚至是一些非常基本的问题,那就被认为是离题了。看看主题中考虑了什么:因此init可以更改为somethingFunction?@WayanDanyaelEco您可以随意命名init,只要您对此保持一致。如果重命名该函数,则需要重命名同时引用该函数的任何内容,以使用正确的名称。@VLAZ非常感谢您,先生。我只是混淆了init是否是内置函数