В этом примере https://jsfiddle.net/x29vyo2q/2/ в консоли выдает ошибку - Cannot read property ‘Math’ of undefined (div должен появляться произвольно в пределах 200px по Х и У).
Если в скобках поместить выражение:
var x = event.(Math.round(Math.random()*200)); - тоже ошибка (как бы в скобки нельзя)
И почему не выполняется условие из второй функции?(блок не исчезает). По нему даже ошибка не выводится в консоль
Math.random не причем. Чтобы элемент перемещать по странице он должен иметь “неблочное” позиционирование, например'fixed' или 'absolute', тогда для этого элемента будет работать style.top, style.left и т.д.
Позиционирование “static” применяется по умолчанию. С ним свойства “top”, “left”, “right”, “bottom” не работают т.к. это позиционирование предполагает размещение элементов в том порядке, в котором они обозначены в документе.
В свою очередь свойства “top”, “left”, “right”, “bottom” работают с absolute, fixed, relative позиционированием.
Таким образом “margin-top”, “margin-left” нужно использовать в случаях со static позиционированием, а свойства “top” и “left” прекрасно работают с relative.