Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 iOS9错误-类列表_Javascript_Jquery_Ecmascript 6 - Fatal编程技术网

JavaScript iOS9错误-类列表

JavaScript iOS9错误-类列表,javascript,jquery,ecmascript-6,Javascript,Jquery,Ecmascript 6,我有一个用ES6编写的JavaScript块,可以通过Babel进行传输。代码要做的是检查节何时滚动到视图中,它添加的类在其内容中的切换点。我被告知这在iOS9设备上不起作用,我这里没有一台可以测试自己来复制错误的设备。有人能看到这部分内容不受支持吗?我怀疑是classList.contains,但我不是肯定的。任何建议都很好 function toggleLume() { const lumeImages = document.querySelectorAll('.model-imag

我有一个用ES6编写的JavaScript块,可以通过Babel进行传输。代码要做的是检查
何时滚动到视图中,它添加的类在其内容中的切换点。我被告知这在iOS9设备上不起作用,我这里没有一台可以测试自己来复制错误的设备。有人能看到这部分内容不受支持吗?我怀疑是
classList.contains
,但我不是肯定的。任何建议都很好

function toggleLume() {
    const lumeImages = document.querySelectorAll('.model-image.lume');
    lumeImages.forEach(image => image.classList.toggle('is-active'));
    lumeIcons.forEach(icon => icon.classList.toggle('is-active'));
}

function checkIfInView() {
    const windowHeight = window.innerHeight;
    const windowTopPosition = window.scrollY;
    const windowBottomPosition = (windowHeight + windowTopPosition);
    const buffer = 120;
    const panels = document.querySelectorAll('.panel');

    panels.forEach(panel => {
        const panelHeight = panel.clientHeight;
        const panelTop = (panel.offsetTop - panel.scrollTop) + buffer;
        const panelBottom = (panelTop + panelHeight);

        if ((panelBottom >= windowTopPosition) && (panelTop <= windowBottomPosition) && !panel.classList.contains('in-view')) {
            panel.classList.add('in-view');
        }
    });
}
函数toggleLume(){
const lumeImages=document.queryselectoral('.model image.lume');
lumeImages.forEach(image=>image.classList.toggle('is-active');
lumeIcons.forEach(icon=>icon.classList.toggle('is-active');
}
函数checkIfInView(){
const windowHeight=window.innerHeight;
const windowTopPosition=window.scrollY;
常量windowBottomPosition=(windowHeight+windowTopPosition);
常数缓冲=120;
const panels=document.queryselectoral('.panel');
panels.forEach(panel=>{
const panel height=panel.clientHeight;
constpaneltop=(panel.offsetTop-panel.scrollTop)+缓冲区;
const panelBottom=(panelTop+panelHeight);

如果((面板底部>=窗口顶部位置)和(panelTop JavaScript/DOM支持通常不是按操作系统版本,而是按浏览器版本。我建议使用一个网站来确定哪个浏览器支持什么。你也可以使用它在iOS设备上测试你的代码。感谢@Barmar的链接。原来问题出在
.forEach
语句上。我已经将它们转换为tra传统的
for
循环,现在一切看起来都很好。我想巴贝尔不知道什么时候该使用polyfill。在Safari中,
节点列表
不适用。请参阅类似的问题,有人试图在Safari中的
节点列表
上使用ES6
for of
。但巴贝尔应该能够重写它,since它的语法而不是依赖于数据。