Skip to content
A library of useful functions to ease working with screen positions.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

positions.js: Screen Positions Library

A library of useful functions to ease working with screen positions.

Try the tests.

How to include the script

This include can be added to the header or placed inline before the script is invoked.

<script src="./js/positions.js"></script>

How to control the script


coordinates = positions.window();

Returns the dimensions of the window.

coordinates : {object} - An object containing coordinates.x and coordinates.y.


coordinates = positions.document(element);

Returns the scrolled position of the document, or any given element with scrolling enabled.

element : {DOM object} - A DOM object in the document.


coordinates = positions.object(element);

Returns the position of an object in the first parent with relative positioning.

element : {DOM object} - A DOM object in the document.


coordinates = positions.cursor(event, parent);

Returns the position of the cursor relative to the window or an optional parent object.

event : {event object} - An event object originating from a mouse or touch interaction.

parent : {DOM object} - Optional DOM object to use as reference for the cursor position.

How to build the script

This project uses node.js from

This project uses gulp.js from

The following commands are available for development:

  • npm install - Installs the prerequisites.
  • gulp import - Re-imports libraries from supporting projects to ./src/libs/ if available under the same folder tree.
  • gulp dev - Builds the project for development purposes.
  • gulp dist - Builds the project for deployment purposes.
  • gulp watch - Continuously recompiles updated files during development sessions.
  • gulp serve - Serves the project on a temporary web server at http://localhost:8500/.
  • gulp php - Serves the project on a temporary php server at http://localhost:8500/.

How to test the script

These test uses Selenium from

  • npm install webdriverjs - Installs the webdriver prerequisite.
  • npm install mocha -g - Installs the prerequisite test framework.
  • java -jar /Applications/Selenium/selenium-server-standalone-2.42.2.jar - Starts Selenium.
  • mocha - Runs the automated tests.


This work is licensed under a Creative Commons Attribution 3.0 Unported License. The latest version of this and other scripts by the same author can be found at

You can’t perform that action at this time.