How to add loading animation to the a tag click and then jump?
Apr 05, 2025 pm 04:48 PMEnhanced user experience: a tag click on the loading animation and page jump
In order to improve the user experience, we often need to first display a brief loading animation after clicking on the a tag, and then jump to the target page. This article will introduce how to use JavaScript to implement this feature.
User requirements: After clicking on the a tag, add a loading animation effect, and then jump to the page after the animation is over.
Using HTML simply<a></a>
Tags cannot implement this function, so JavaScript is required to control the timing of page redirection. We will use JavaScript to intercept click events of a tag to achieve this effect.
Solution: Intercept the default jump behavior of a tag through the onclick
event handler ( e.preventDefault()
), and then execute the loading animation (here is "..." to represent the omission of the animation implementation), and finally use the setTimeout
function to open the target page after the specified time (for example 1 second), using window.open()
method.
Code example:
<a href="http://miracleart.cn/link/15ea43997c9e00317564201ca5267210" onclick="onLinkClick(event)" target="_blank">Click to jump</a> <script> const onLinkClick = function(e) { // 阻止默認(rèn)跳轉(zhuǎn) e.preventDefault(); // 顯示加載動(dòng)畫(huà) // ... (此處添加您的加載動(dòng)畫(huà)代碼,例如顯示一個(gè)加載gif或修改CSS樣式) const href = e.target.getAttribute('href'); const openType = e.target.getAttribute('target'); // 1秒后跳轉(zhuǎn) setTimeout(() => { window.open(href, openType); // 隱藏加載動(dòng)畫(huà) (如果需要,在此處添加隱藏動(dòng)畫(huà)的代碼) }, 1000); } </script>
In this code, the onLinkClick
function first blocks the default jump behavior of the a tag, and then executes the loading animation (you need to replace the "..." part according to the actual situation, you can use CSS animation, JavaScript animation library or other methods), and finally open the target link after 1 second, and you can selectively hide the loading animation. target="_blank"
ensures that the link opens in the new tab page. Please replace the "..." part of the code according to your actual needs and add appropriate loading animation effects.
The above is the detailed content of How to add loading animation to the a tag click and then jump?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

CSS blocks page rendering because browsers view inline and external CSS as key resources by default, especially with imported stylesheets, header large amounts of inline CSS, and unoptimized media query styles. 1. Extract critical CSS and embed it into HTML; 2. Delay loading non-critical CSS through JavaScript; 3. Use media attributes to optimize loading such as print styles; 4. Compress and merge CSS to reduce requests. It is recommended to use tools to extract key CSS, combine rel="preload" asynchronous loading, and use media delayed loading reasonably to avoid excessive splitting and complex script control.

ToimplementdarkmodeinCSSeffectively,useCSSvariablesforthemecolors,detectsystempreferenceswithprefers-color-scheme,addamanualtogglebutton,andhandleimagesandbackgroundsthoughtfully.1.DefineCSSvariablesforlightanddarkthemestomanagecolorsefficiently.2.Us

The topic differencebetweenem, Rem, PX, andViewportunits (VH, VW) LiesintheirreFerencepoint: PXISFixedandbasedonpixelvalues, emissrelative EtothefontsizeFheelementoritsparent, Remisrelelatotherootfontsize, AndVH/VwarebaseDontheviewporttimensions.1.PXoffersprecis

ThebestapproachforCSSdependsontheproject'sspecificneeds.Forlargerprojects,externalCSSisbetterduetomaintainabilityandreusability;forsmallerprojectsorsingle-pageapplications,internalCSSmightbemoresuitable.It'scrucialtobalanceprojectsize,performanceneed

No,CSSdoesnothavetobeinlowercase.However,usinglowercaseisrecommendedfor:1)Consistencyandreadability,2)Avoidingerrorsinrelatedtechnologies,3)Potentialperformancebenefits,and4)Improvedcollaborationwithinteams.

Choosing the correct display value in CSS is crucial because it controls the behavior of elements in the layout. 1.inline: Make elements flow like text, without occupying a single line, and cannot directly set width and height, suitable for elements in text, such as; 2.block: Make elements exclusively occupy one line and occupy all width, can set width and height and inner and outer margins, suitable for structured elements, such as; 3.inline-block: has both block characteristics and inline layout, can set size but still display in the same line, suitable for horizontal layouts that require consistent spacing; 4.flex: Modern layout mode, suitable for containers, easy to achieve alignment and distribution through justify-content, align-items and other attributes, yes

Autoprefixer is a tool that automatically adds vendor prefixes to CSS attributes based on the target browser scope. 1. It solves the problem of manually maintaining prefixes with errors; 2. Work through the PostCSS plug-in form, parse CSS, analyze attributes that need to be prefixed, and generate code according to configuration; 3. The usage steps include installing plug-ins, setting browserslist, and enabling them in the build process; 4. Notes include not manually adding prefixes, keeping configuration updates, prefixes not all attributes, and it is recommended to use them with the preprocessor.

AnimatingSVGwithCSSispossibleusingkeyframesforbasicanimationsandtransitionsforinteractiveeffects.1.Use@keyframestodefineanimationstagesforpropertieslikescale,opacity,andcolor.2.ApplytheanimationtoSVGelementssuchas,,orviaCSSclasses.3.Forhoverorstate-b
