Доброе воскресное утро!Мой первый JavaScript. Любые ошибки?
После прокрутки с помощью JavaScript в этот уик-энд я, наконец, написал свой первый сценарий. Это генератор всплывающей подсказки. Он отлично работает в FF 3 + 3.5, IE 6 + 7, Safari 4, Chrome 2 + 3 и Opera 9 + 10.
Прежде чем вводить мой новый код в производство, я подумал, что спрошу, видите ли вы какие-либо вопиющие проблемы - или, может быть, это прекрасно, как есть? (Lol)
JSLint.com отчеты:
Error:
Problem at line 10 character 15: 'e' is already defined.
var e = window.event;
Implied global: window 10, document 19,20,22,24,33,35,41,43,49,55
Вот мой код (извинения заранее, если вам не нравится мой стиль кода):
function getmouseposition(e)
{
var offx = 22;
var offy = 14;
var posx = 0;
var posy = 0;
if (!e)
{
var e = window.event;
}
if (e.pageX || e.pageY)
{
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY)
{
posx = e.clientX
+ document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY
+ document.body.scrollTop
+ document.documentElement.scrollTop;
}
if (document.getElementById)
{
var tooltip = document.getElementById('tooltip');
tooltip.style.left = (posx + offx) + 'px';
tooltip.style.top = (posy + offy) + 'px';
}
}
function tooltip_on(text)
{
if(!document.getElementById('tooltip'))
{
var span = document.createElement('span');
span.id = 'tooltip';
span.style.display = 'none';
span.innerHTML = ' ';
document.body.appendChild(span);
}
var tooltip = document.getElementById('tooltip');
tooltip.innerHTML = text;
tooltip.style.display = 'block';
tooltip.style.position = 'absolute';
document.onmouseover = getmouseposition;
// document.onmousemove = getmouseposition;
}
function tooltip_off()
{
document.getElementById('tooltip').style.display = 'none';
}
EDIT:
Мне также интересно, что говорит эта строка (в терминах непрофессионала) в getmouseposition function
:
if (document.getElementById)
Эй, Джефф, почему бы вам не использовать атрибут title? – ChaosPandion
Возможно, потому, что он не может стилизовать их с помощью CSS. –
Я понял, что это так. Но без дальнейшего контекста я не был уверен. – ChaosPandion