Отображать Div относительно элемента Href

#javascript

#javascript

Вопрос:

Необходимо расположить div на основе положения элемента href на странице. Код, который у меня в настоящее время есть, работает на моем компьютере, который запускает IE8. Тот же код не работает на другом компьютере с такой же конфигурацией . Пожалуйста, помогите

Кстати, div является абсолютной позицией, и в javascript мы имеем:

divobj.style.слева = событие.x - 185;
divobj.style.top = event.y - 5;

Комментарии:

1. @JohnP, извините за несвязанный вопрос, но откуда у вас правильно отформатированная ссылка в вашем комментарии, я не могу найти, как это сделать, я удалю этот комментарий, как только вы мне скажете … и за это я благодарю вас

2. @Ibu: Начните писать комментарий и нажмите на help ссылку под Add Comment кнопкой, чтобы увидеть синтаксис для различных вариантов форматирования. Это просто Markdown.

3. @Felix Большое вам спасибо, это было написано у меня на глазах, и я никогда не смотрел

4. @ibu просто используй этот формат [Text](http://link/)

5. Возвращаясь к исходному вопросу — у меня была похожая ситуация, когда 2 компьютера с IE8 отображали одно и то же веб-приложение по-разному, просто обратите внимание на то, в каком режиме совместимости может находиться браузер. #OnlyIE

Ответ №1:

попробуйте использовать эту функцию.

 function getElementPosition(element) {
        var x = 0; var y = 0;
        while(element !=null    )   {
            x  = element.offsetLeft || 0;
            y  = element.offsetTop  || 0;
            element = element.offsetParent;
        if (!element || element.style['position'] == 'relative' || element.tagName == 'BODY') break;
        }
        return {'x':x, 'y':y};
    }
  

это вернет позицию вашего элемента link, но вы должны передать этот элемент в качестве аргумента этой функции.

Ответ №2:

Решение может быть таким же простым, как добавление единицы измерения, например:

 divobj.style.left = event.x - 185   'px'; divobj.style.top = event.y - 5   'px';
  

Некоторые браузеры принимают ‘px’ в качестве единицы измерения; другие не делают предположения и, следовательно, ничего не делают с тем, что они считают недопустимым значением.