Home Web Front-end JS Tutorial How to create a JavaScript pop-up DIV window layer effect_javascript skills

How to create a JavaScript pop-up DIV window layer effect_javascript skills

May 16, 2016 pm 05:21 PM
Pop-up layer

In this tutorial, I will use the most popular language and the most concise code to show you how to create a JavaScript pop-up DIV window layer effect.

Creating a pop-up DIV window may be one of the most common problems encountered in website/webpage production. The traditional JavaScript pop-up window is no longer suitable for the current website design concept for two reasons: first, it is unfriendly - a stiff pop-up dialog box accompanied by a "bang" sound is a big challenge to the user experience; second, it is not compatible with Not strong enough - quite a few browsers block this JS Alert() method. Therefore, a website with good user experience needs a more reasonable solution - using very little HTML code, very little CSS code and a few lines of JavaScript code to simulate the browser's default pop-up window (that is, replace the default Alert() interface and functions).

Implementation principle:

First, we place the content in the pop-up box in a special DIV layer, and then hide it by default (i.e. initially invisible, use CSS can achieve this). When the user performs an action - such as clicking on a link or moving the mouse cursor over a link - we will display the previously set hidden layer on top of all page elements (which will be implemented using JS operations). In addition, we will also set a button in the pop-up DIV window to perform the function of closing the window when the user clicks this button.

Implementation process:

As I mentioned above, we first need to create a special DIV layer, and then we put the content of the pop-up window in this DIV inside the layer. Here, we name its ID "popupcontent" to distinguish it from other DIV layers.

This is a DIV pop-up window effect!


CSS modification code for the pop-up window:

Next, let’s beautify the DIV popup layer created above with CSS. The most important parameters are: overflow (content overflow), visibility (visibility) and position (positioning method). At the same time, I also added a lot of other codes to this window effect, but these are only used to beautify and make this window more gorgeous. Therefore, the CSS code we finally defined looks like:

Copy code The code is as follows:

# popupcontent{
position: absolute;
visibility: hidden;
overflow: hidden;
border:1px solid #CCC;
background-color:#F9F9F9;
border:1px solid #333;
padding:5px;
}

As you can see from the red part in the CSS code above: the initial default state of this DIV layer is invisible.

You can beautify the above code as needed, but please be sure to retain the three attributes of position, visibility, and overflow.

The JavaScript code is used to trigger and display the pop-up window:

This is probably the most important and interesting part of this tutorial. We will next write two process functions to display and hide the DIV pop-up window above. Of course, these two functions will contain some main logic.

Logic that needs to be included sequentially in the process function:

Calculate the display position (positioning) of the JavaScript pop-up window on the screen;
Add a status bar (or button) in the pop-up window , used to close an open window;
Display a pop-up window.

For the sake of simplicity, the display positions we set in this example are Top: 200, Left: 200. That is, taking the upper left corner of the browser content box as the coordinate, offset 200PX downward and 200PX left.

We can set the size of the pop-up window in the parameters of the display function, including two parameters: window length and window width.

If you need to re-develop the code in this example, there is one place that needs special attention, that is to obtain the DOM object of the DIV layer of the pop-up window. We can obtain the ID name through the getElementById function below. The DOM object of "Popcontent".
Copy code The code is as follows:

var popUp = document.getElementById("popupcontent");

After obtaining this (pop-up window) DOM object, we can modify the relative position and window size of the window in the JS code.
Copy code The code is as follows:

popUp.style.top = "200px";// The offset value of the window from the top of the browser content area

popUp.style.left = "200px";//The offset value of the window from the leftmost of the browser content area

popUp. style.width = w "px";//The width of the window

popUp.style.height = h "px";//The height of the window

Next, we need to add a "Close" button to the window to close the window when it is open. To implement this function perfectly, first we need to declare a global variable to store the content in the pop-up window DIV. This is because if you display multiple pop-up windows with different contents on one page, you do not need to repeatedly copy the buttons to these DIV layers, which simplifies the behavior logic:
Copy code The code is as follows:

if (baseText == null) baseText = popUp.innerHTML;

popUp.innerHTML = baseText

"
";

The last thing that needs attention is the positioning of the "Close" button. This is easy to implement. Just set the upward blank side of the button object (the value of the blank side can be set to be slightly smaller than the DIV height of the entire pop-up window).

At this point, all the behavioral logic has been explained. The complete code of the final pop-up window display function is as follows:
Copy code The code is as follows:

var baseText = null;

function showPopup(w,h){
var popUp = document.getElementById("popupcontent");
popUp.style.top = "200px";
popUp.style.left = "200px";
popUp.style.width = w "px";
popUp.style.height = h "px ";
if (baseText == null) baseText = popUp.innerHTML;
popUp.innerHTML = baseText "
";
var sbar = document.getElementById("statusbar");
sbar.style.marginTop = (parseInt(h)-40) "px" ;
popUp.style.visibility = "visible";
}

Hide the pop-up window:

The process of hiding the pop-up window is quite Simple. You only need to first obtain the DOM object of the DIV of the pop-up window, and then set its attribute to "hidden".
Copy code The code is as follows:

function hidePopup(){
var popUp = document .getElementById("popupcontent");
popUp.style.visibility = "hidden";
}

Expand the HTML code to finally achieve the pop-up effect:

All we need to do is add the JS function "showPopup()" to the corresponding event of a link or button.

For example, if you need to pop up a window when the mouse moves over a certain connection:

Open popup
Need to pop up a window when the mouse clicks on a connection:

Open popup
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What should I do if I encounter garbled code printing for front-end thermal paper receipts? What should I do if I encounter garbled code printing for front-end thermal paper receipts? Apr 04, 2025 pm 02:42 PM

Frequently Asked Questions and Solutions for Front-end Thermal Paper Ticket Printing In Front-end Development, Ticket Printing is a common requirement. However, many developers are implementing...

Demystifying JavaScript: What It Does and Why It Matters Demystifying JavaScript: What It Does and Why It Matters Apr 09, 2025 am 12:07 AM

JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

Who gets paid more Python or JavaScript? Who gets paid more Python or JavaScript? Apr 04, 2025 am 12:09 AM

There is no absolute salary for Python and JavaScript developers, depending on skills and industry needs. 1. Python may be paid more in data science and machine learning. 2. JavaScript has great demand in front-end and full-stack development, and its salary is also considerable. 3. Influencing factors include experience, geographical location, company size and specific skills.

Is JavaScript hard to learn? Is JavaScript hard to learn? Apr 03, 2025 am 12:20 AM

Learning JavaScript is not difficult, but it is challenging. 1) Understand basic concepts such as variables, data types, functions, etc. 2) Master asynchronous programming and implement it through event loops. 3) Use DOM operations and Promise to handle asynchronous requests. 4) Avoid common mistakes and use debugging techniques. 5) Optimize performance and follow best practices.

How to achieve parallax scrolling and element animation effects, like Shiseido's official website?
or:
How can we achieve the animation effect accompanied by page scrolling like Shiseido's official website? How to achieve parallax scrolling and element animation effects, like Shiseido's official website? or: How can we achieve the animation effect accompanied by page scrolling like Shiseido's official website? Apr 04, 2025 pm 05:36 PM

Discussion on the realization of parallax scrolling and element animation effects in this article will explore how to achieve similar to Shiseido official website (https://www.shiseido.co.jp/sb/wonderland/)...

How to merge array elements with the same ID into one object using JavaScript? How to merge array elements with the same ID into one object using JavaScript? Apr 04, 2025 pm 05:09 PM

How to merge array elements with the same ID into one object in JavaScript? When processing data, we often encounter the need to have the same ID...

The Evolution of JavaScript: Current Trends and Future Prospects The Evolution of JavaScript: Current Trends and Future Prospects Apr 10, 2025 am 09:33 AM

The latest trends in JavaScript include the rise of TypeScript, the popularity of modern frameworks and libraries, and the application of WebAssembly. Future prospects cover more powerful type systems, the development of server-side JavaScript, the expansion of artificial intelligence and machine learning, and the potential of IoT and edge computing.

The difference in console.log output result: Why are the two calls different? The difference in console.log output result: Why are the two calls different? Apr 04, 2025 pm 05:12 PM

In-depth discussion of the root causes of the difference in console.log output. This article will analyze the differences in the output results of console.log function in a piece of code and explain the reasons behind it. �...

See all articles