search
HomeWeb Front-endHTML Tutoriala:active plus animation click invalid solution

We often encounter a problem, a:activeaddanimation click is invalid, today I will show you my code and the solution, and by the way, I will share with you how not to Method to record url jump history.

a tag: active plus animation click is invalid

My css code is as follows:

.haorooms{  -webkit-animation: jpyd 1.5s cubic-bezier(0,.98,.44,1) both;  animation:  jpyd 1.5s cubic-bezier(0,.98,.44,1) both;}
.haorooms:active{ -webkit-animation: zoomOuts 1s ; animation: zoomOuts 1s; }

html code is as follows:

<a class="haorooms delay3 " href="/jingpin/"  ></a>

In Apple mobile phone , a label click is invalid. After checking, the a tag is not blocked. What is the reason? How to solve?

The reason for this situation is that active has a 1-second animation. If you press and hold the button, there is no way to jump.

a tag: active plus animation click invalid solution

In fact, there are many solutions to this problem, because we are displaying it on the mobile phone, and the expected effect is to jump after the animation is played. We can add the ontouchend event and jump to an address after touchend.

ontouchend="window.location.href=&#39;/jingpin/&#39;"

After adding this, you can jump to the specified address whether you long press or click. After pressing the end, you can jump to the specified address.

Page jump history is not recorded when returning

Regarding storing browsing history, I have mentioned it in previous articles: Some introductions to SPA single-page web applications and ajax non-refresh page switching, history Record Back Forward Solution

We can operate the browser history through

history.replaceState 
history.pushState(state, title, url)

.

But in actual situations, there are also situations where we do not need to record browsing history. For example, "There are two tab switching labels in a page. The tab switching changes the browser address." The tab switching is recorded in the history by default. . Therefore, when we click the return button, we keep switching between two tabs. However, we actually want to return to the previous page, not switch between two tabs. So how to solve this situation?

We thought of this

location.replace(newURL)

replace() method will not generate a new record in the History object. When using this method, the new URL will overwrite the current record in the History object.

So we can write the code as follows:

<ul id="haorooms">
  <li><a href="http://www.haorooms.com/archives">标签一</a></li>
  <li><a href="http://www.haorooms.com/tools/index">标签二</a></li>
</ul>
$(&#39;#haorooms li  a&#39;).on(&#39;click&#39;, function (event) { //tab中a标签点击
    event.preventDefault();
    location.replace(this.href);
})

The above code returns invalid in some mobile phones, so the solution fails!

history.replaceState() and location.replace() methods

If the above method failed, I had to change my mind. I saw that Zhang Xinxu had a similar case solution some time ago. So I learned from it!

The solution is as follows:

$(&#39;#haorooms li  a&#39;).on(&#39;click&#39;, function (event) {
    event.preventDefault();
    history.replaceState(null, document.title, this.href.split(&#39;#&#39;)[0] + &#39;#&#39;);
    location.replace(&#39;&#39;);
})

First replace the current URL address with the current link address ending with a pound sign # through the HTML5 history.replaceState() method;

Execute location.replace('') ​​refreshes the current address (# will be ignored at this time);

Through this solution, no matter how we switch tabs, after clicking return, we will return to the previous page of the entered page as usual. No more switching between tabs!

Because history.replaceState is only supported from IE10, if you want to be compatible with earlier browsers, or use it on PC. Seeing that Zhang Dashen also encapsulated a function, I will borrow it here:

var fnUrlReplace = function (eleLink) {
    if (!eleLink) {
        return;
    }
    var href = eleLink.href;
    if (href && /^#|javasc/.test(href) === false) {
        if (history.replaceState) {
            history.replaceState(null, document.title, href.split(&#39;#&#39;)[0] + &#39;#&#39;);
            location.replace(&#39;&#39;);
        } else {
             location.replace(href);
        }
    }
};

The above function can be applied as follows

$(&#39;#haorooms li  a&#39;).on(&#39;click&#39;, function (event) {
  if (event && event.preventDefault) {
      event.preventDefault();
   }
   fnUrlReplace(this);
   return false;
})

I believe you have mastered the method after reading these cases. Please pay attention for more exciting things. Other related articles on php Chinese website!


Related reading:

How to write if condition hack in CSS

CSS web page misalignment How to deal with it

How to use CSS3 to create text animation under lighting

The above is the detailed content of a:active plus animation click invalid solution. For more information, please follow other related articles on the PHP Chinese website!

Statement
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
Are the HTML tags and elements the same thing?Are the HTML tags and elements the same thing?Apr 28, 2025 pm 05:44 PM

The article explains that HTML tags are syntax markers used to define elements, while elements are complete units including tags and content. They work together to structure webpages.Character count: 159

What is the significance of <head> and <body> tag in HTML?What is the significance of <head> and <body> tag in HTML?Apr 28, 2025 pm 05:43 PM

The article discusses the roles of <head> and <body> tags in HTML, their impact on user experience, and SEO implications. Proper structuring enhances website functionality and search engine optimization.

What is the difference between <strong>, <b> tags and <em>, <i> tags?What is the difference between <strong>, <b> tags and <em>, <i> tags?Apr 28, 2025 pm 05:42 PM

The article discusses the differences between HTML tags , , , and , focusing on their semantic vs. presentational uses and their impact on SEO and accessibility.

Please explain how to indicate the character set being used by a document in HTML?Please explain how to indicate the character set being used by a document in HTML?Apr 28, 2025 pm 05:41 PM

Article discusses specifying character encoding in HTML, focusing on UTF-8. Main issue: ensuring correct display of text, preventing garbled characters, and enhancing SEO and accessibility.

What are the various formatting tags in HTML?What are the various formatting tags in HTML?Apr 28, 2025 pm 05:39 PM

The article discusses various HTML formatting tags used for structuring and styling web content, emphasizing their effects on text appearance and the importance of semantic tags for accessibility and SEO.

What is the difference between the 'id' attribute and the 'class' attribute of HTML elements?What is the difference between the 'id' attribute and the 'class' attribute of HTML elements?Apr 28, 2025 pm 05:39 PM

The article discusses the differences between HTML's 'id' and 'class' attributes, focusing on their uniqueness, purpose, CSS syntax, and specificity. It explains how their use impacts webpage styling and functionality, and provides best practices for

What is the 'class' attribute in HTML?What is the 'class' attribute in HTML?Apr 28, 2025 pm 05:37 PM

The article explains the HTML 'class' attribute's role in grouping elements for styling and JavaScript manipulation, contrasting it with the unique 'id' attribute.

What are different types of lists in HTML?What are different types of lists in HTML?Apr 28, 2025 pm 05:36 PM

Article discusses HTML list types: ordered (<ol>), unordered (<ul>), and description (<dl>). Focuses on creating and styling lists to enhance website design.

See all articles

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

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.