HTML Window moveBy() Method

The HTML Window moveBy() method moves a window relative to its current position by a specified number of pixels. This method is commonly used in JavaScript to programmatically reposition popup windows or child windows on the screen.

Syntax

Following is the syntax for the moveBy() method −

window.moveBy(x, y)

Parameters

The moveBy() method accepts two parameters −

  • x − The number of pixels to move the window horizontally. Positive values move right, negative values move left.

  • y − The number of pixels to move the window vertically. Positive values move down, negative values move up.

Return Value

The moveBy() method does not return any value. It performs the window movement operation and completes silently.

How It Works

The moveBy() method calculates the new window position by adding the specified x and y values to the current window coordinates. If the current window is at position (100, 50) and you call moveBy(200, 100), the window will move to position (300, 150).

moveBy() Method Visualization Original Position (100, 50) New Position (300, 150) moveBy(200, 100)

Example − Moving a New Window

Following example demonstrates how to create a new window and move it using the moveBy() method −

<!DOCTYPE html>
<html>
<head>
   <title>HTML Window moveBy() Method Demo</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px; text-align: center;">
   <h1>HTML Window moveBy() Method Demo</h1>
   <button onclick="createAndMove()" style="background: #007bff; color: white; border: none; padding: 10px 20px; border-radius: 4px; cursor: pointer;">Create and Move Window</button>
   <p id="status">Click the button to create a new window that will be moved.</p>
   
   <script>
      function createAndMove() {
         var newWindow = window.open('', '', 'width=300,height=200');
         newWindow.document.write('<h2 style="text-align: center; font-family: Arial;">Moved Window</h2><p style="text-align: center;">This window was moved using moveBy()</p>');
         
         // Move the window by 200 pixels right and 100 pixels down
         newWindow.moveBy(200, 100);
         
         document.getElementById("status").innerHTML = "New window created and moved by 200px right, 100px down!";
      }
   </script>
</body>
</html>

The output displays a button that creates a new window and immediately moves it to a different position −

HTML Window moveBy() Method Demo
[Create and Move Window]
New window created and moved by 200px right, 100px down!

Example − Multiple Movements

Following example shows how to move a window multiple times using different values −

<!DOCTYPE html>
<html>
<head>
   <title>Multiple Window Movements</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px;">
   <h2>Multiple Window Movement Demo</h2>
   <button onclick="createWindow()" style="background: #28a745; color: white; border: none; padding: 8px 16px; margin: 5px; border-radius: 4px; cursor: pointer;">Create Window</button>
   <button onclick="moveRight()" style="background: #17a2b8; color: white; border: none; padding: 8px 16px; margin: 5px; border-radius: 4px; cursor: pointer;">Move Right</button>
   <button onclick="moveDown()" style="background: #ffc107; color: black; border: none; padding: 8px 16px; margin: 5px; border-radius: 4px; cursor: pointer;">Move Down</button>
   <button onclick="moveBack()" style="background: #dc3545; color: white; border: none; padding: 8px 16px; margin: 5px; border-radius: 4px; cursor: pointer;">Move Back</button>
   
   <script>
      var myWindow;
      
      function createWindow() {
         myWindow = window.open('', '', 'width=250,height=150');
         myWindow.document.write('<h3 style="text-align: center;">Movable Window</h3><p style="text-align: center;">Use buttons to move me!</p>');
      }
      
      function moveRight() {
         if (myWindow) {
            myWindow.moveBy(100, 0);  // Move 100px right
         }
      }
      
      function moveDown() {
         if (myWindow) {
            myWindow.moveBy(0, 80);   // Move 80px down
         }
      }
      
      function moveBack() {
         if (myWindow) {
            myWindow.moveBy(-50, -40); // Move 50px left, 40px up
         }
      }
   </script>
</body>
</html>

This example creates a window that can be moved in different directions by clicking the respective buttons.

Browser Compatibility

The moveBy() method is supported by most modern browsers, but there are some important considerations −

  • Security restrictions − Modern browsers may block or restrict window movement for security reasons, especially for windows not created by scripts.

  • Popup blockers − Some popup blockers may prevent the method from working properly.

  • User preferences − Users can disable JavaScript's ability to move windows in their browser settings.

Common Use Cases

The moveBy() method is typically used in the following scenarios −

  • Dialog positioning − Moving popup dialogs or modals to optimal screen positions.

  • Window animations − Creating smooth window movement animations by calling moveBy() repeatedly with small increments.

  • Multi-window applications − Arranging multiple windows in specific layouts or patterns.

  • Screen space optimization − Dynamically repositioning windows to make better use of available screen space.

Conclusion

The moveBy() method provides a simple way to move windows relative to their current position using JavaScript. While useful for window management in web applications, be aware that modern browser security restrictions may limit its functionality, especially with popup windows and user-configured browser settings.

Updated on: 2026-03-16T21:38:54+05:30

220 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements