Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрипт не работает на IE (https://javascript.ru/forum/misc/75221-skript-ne-rabotaet-na-ie.html)

JIeuTo 14.09.2018 12:18

Скрипт не работает на IE
 
Здравствуйте, у меня вопрос, есть вот такой скрипт
window.addEventListener('load',()=> {
allClass(0.4);  // время transition
function allClass(transition){
    let question = document.querySelectorAll('.question'),
    answer = document.querySelectorAll('.answer'),
    arrayHeight = [];
    const props = el => el.getBoundingClientRect();
    [...question].forEach((e,i) => {
        arrayHeight[i] = props(answer[i]).bottom - props(answer[i]).top + 10 + 'px';
        answer[i].style.height = '0px';
        setTimeout(()=> answer[i].style.transition = transition + 's', 50);
        e.addEventListener('click',() => {
            [...answer].forEach((e,i) => { answer[i].style.height = '0px'; });
            props(answer[i]).height == 0 ? answer[i].style.height = arrayHeight[i] : '';
        });
    });
}
},false);

Он не работает на IE, то есть сайт с этим скриптом вообще не загружается, грузит и грузит, хотя на chrome полет отличный, не подскажите где загвоздка?

JIeuTo 14.09.2018 12:58

Rise,
а не подскажите? http://babeljs.io/ прекратил свое существование? так как сайт не открывается у них

JIeuTo 14.09.2018 13:42

Rise,
я переделал свой код в ES5 с помощью babel, но теперь страница грузиться, а скрипт не выполняется, я слышал что IE не дружит с foreach?

JIeuTo 14.09.2018 13:46

Rise,
решил проблему обернув в [].slice.call(), спасибо за помощь, помогли очень

Dilettante_Pro 14.09.2018 14:36

JIeuTo,
Еще можно и такой вариант, с forEach:
var answer = document.querySelectorAll('.answer');
[].forEach.call(answer, function(item) { item.style.height = '0px'; });

j0hnik 14.09.2018 14:48

NodeList.prototype.forEach = Array.prototype.forEach; 
//...
answer.forEach(function(e,i){
//...
question.forEach(function(e,i){


Часовой пояс GMT +3, время: 08:47.