Javascript代码使Internet Explorer无法响应

时间:2015-09-08 12:42:58

标签: javascript jquery performance internet-explorer

我有一个Javascript代码,用于将省略号放在商店网格上以获取标题和说明。它可以在Chrome,Mozilla和Safari中运行。但是,有时在Internet Explorer(在11.0.22上测试),这个特定页面停止响应加载几秒钟和大多数时间,我在窗口上没有响应。如果我删除了这部分代码,那么问题就不存在了。

我的代码上的某些内容会影响性能,我应该更改什么来解决它?

Javascript代码:

function dotify(element) {
    var limit = element.offsetTop + element.offsetHeight;
    var dots = document.createElement('span');
    if (element['data-inner'])
        element.innerHTML = element['data-inner'];
    else
        element['data-inner'] = element.innerHTML;
    dots.appendChild(document.createTextNode('...'));
    element.style.overflow = 'hidden';
    element.appendChild(dots);
    while (dots.offsetTop + dots.offsetHeight > limit) {
        dots.previousSibling.data = dots.previousSibling.data
            .replace(/\W*\w+\W*$/, '')
    }
}


jQuery(".product-description").each(function() {
    if (this.scrollHeight > this.clientHeight ) {
        dotify(this);
    }
});

jQuery(".product-title-grid").each(function() {
    if (this.scrollHeight > this.clientHeight ) {
        dotify(this);
    }
});

0 个答案:

没有答案