JavaScript运行时错误 - 未定义xx [英] JavaScript runtime error - xx not defined

查看:79
本文介绍了JavaScript运行时错误 - 未定义xx的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

遇到JavaScript运行时错误 - 未定义_timeoutInterval。请参阅下面的代码 - 实际上,定义了_timeoutInterval。如何调试呢?谢谢。

Got JavaScript runtime error - _timeoutInterval not defined. See the code below - Actually, the _timeoutInterval is defined. How to debug on it? Thanks.

var _timeoutInterval = 15000;
...
var myTooltip = function () {
    var id = 'tt', top = 3, left = 3, maxw = 300, speed = 10, timer = 30, endalpha = 95, alpha = 0, tt, t, c, b, h, u, l, a, ie = document.all ? true : false;
    return {
        show: function (v, w, Lspace) {
            left = Lspace;
            if (tt == null) {
                tt = document.createElement('div');
                tt.setAttribute('id', id);
                t = document.createElement('div');
                t.setAttribute('id', id + 'top');
                c = document.createElement('div');
                c.setAttribute('id', id + 'cont');
                b = document.createElement('div');
                b.setAttribute('id', id + 'bot');
                tt.appendChild(t);
                tt.appendChild(c);
                tt.appendChild(b);
                document.body.appendChild(tt);
                tt.style.opacity = 0;
                tt.style.filter = 'alpha(opacity=0)';
                document.onmousemove = this.pos;   // Got runtime error
            }
            tt.style.display = 'block';
            c.innerHTML = v;
            tt.style.width = w ? w + 'px' : 'auto';
            if (!w && ie) {
                t.style.display = 'none';
                b.style.display = 'none';
                tt.style.width = tt.offsetWidth;
                t.style.display = 'block';
                b.style.display = 'block';
            }
            if (tt.offsetWidth > maxw) { tt.style.width = maxw + 'px' }
            h = parseInt(tt.offsetHeight) + top;
            clearInterval(tt.timer);
            tt.timer = setInterval(function () { myTooltip.fade(1) }, timer);
            setTimeout(function () { myTooltip.hide() }, _timeoutInterval);
        },
        pos: function (e) {
            if (ie) {
                u = event.clientY;
                l = event.clientX;
                tt.style.top = (u - 20) + 'px';
                tt.style.left = (l + left) + 'px';
            }
            else {
                u = e.pageY;
                l = e.pageX;
                tt.style.top = (u + h - 40) + 'px';
                tt.style.left = (l + left) + 'px';
            }
        },
        fade: function (d) {
            a = alpha;
            if ((a != endalpha && d == 1) || (a != 0 && d == -1)) {
                var i = speed;
                if (endalpha - a < speed && d == 1) {
                    i = endalpha - a;
                } else if (alpha < speed && d == -1) {
                    i = a;
                }
                alpha = a + (i * d);
                tt.style.opacity = alpha * .01;
                tt.style.filter = 'alpha(opacity=' + alpha + ')';

            } else {
                clearInterval(tt.timer);
                if (d == -1) { tt.style.display = 'none' }
            }
        },
        hide: function () {
            clearInterval(tt.timer);
            tt.timer = setInterval(function () { myTooltip.fade(-1) }, timer);
        }
    };
} ();

推荐答案

那是因为在那一行没有 pos 方法存在...

记住!最好的JavaScript是一种JIT编译语言(它是几年前解释的),所以如果你想从 show <使用 pos / code>您已根据依赖关系重新排序...
That's because at that line there is no pos method exists...
Remember! JavaScript, at the best, is a JIT compiled language (it was an interpreted some years ago), so if you mean to use pos from show you have reorder them according dependencies...


这篇关于JavaScript运行时错误 - 未定义xx的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆