六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

a:active加動畫點擊無效的處理方案

[摘要]我們經常會遇到一個問題,a:active加動畫點擊無效,今天給大家看一下我的代碼以及的解決方案,順便給大家分享一個如何不記錄url跳轉歷史的方法。a標簽:active加動畫點擊無效我的css代碼如下:.haorooms{ -webkit-animation: jpyd 1.5s cubic-be...
我們經常會遇到一個問題,a:active動畫點擊無效,今天給大家看一下我的代碼以及的解決方案,順便給大家分享一個如何不記錄url跳轉歷史的方法。

a標簽:active加動畫點擊無效

我的css代碼如下:

.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代碼如下:

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

蘋果手機中,a標簽點擊無效。經查驗,a標簽并沒有遮擋,這是什么原因呢?如何解決?

造成這種情況的原因是active有個1秒鐘的動畫,假如你長按按鈕,也是沒有辦法跳轉的。

a標簽:active加動畫點擊無效解決方案

其實這個解決方案是蠻多的,因為我們是在手機中展現,期望效果是在動畫播放結束之后跳轉,我們可以添加ontouchend事件,touchend之后跳轉到某個地址。

ontouchend="window.location.href='/jingpin/'"

加了這個之后,不管是長按,還是點擊,按結束之后,都是可以跳轉到指定地址的。

頁面跳轉歷史返回中不記錄

關于儲存瀏覽歷史,我之前文章中有提及過:SPA單頁面web應用的一些簡介 以及 ajax無刷新頁面切換,歷史記錄后退前進解決方案

我們可以通過

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

對瀏覽器歷史進行操作。

但是實際情況中,也有我們無需記錄瀏覽歷史的情況,例如“一個頁面中有2個tab切換標簽,tab切換是修改了瀏覽器地址”,tab切換是默認記錄到歷史的。因此我們點擊返回按鈕的時候,不停的在2個tab中切換,但是,實際我們是想返回到上一頁的,不是在2個tab中切換。那么這種情況如何解決呢?

這個我們想到了

location.replace(newURL)

replace() 方法不會在 History 對象中生成一個新的記錄。當使用該方法時,新的 URL 將覆蓋 History 對象中的當前記錄。

因此代碼我們可以如下寫:

<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>
$('#haorooms li  a').on('click', function (event) { //tab中a標簽點擊
    event.preventDefault();
    location.replace(this.href);
})

上面代碼在某些手機中返回無效,因此方案失敗!

history.replaceState()和location.replace()方法

上面方法失敗了,我就得轉換思路了,看到張鑫旭大神前段時間也有一個類似的案例解決方案,因此我借鑒了一下!

解決方案如下:

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

首先通過HTML5 history.replaceState()方法把當前URL地址替換成以個井號#結尾的目前鏈接地址;

執行location.replace('')刷新當前地址(此時#會忽略);

通過這個方案,我們再怎么切換tab,點擊返回之后,照常返回到進入頁面的前一頁。不會再在tab中切換了!

因為history.replaceState從IE10才開始支持,假如要兼容更早的瀏覽器,或者在PC端使用。看到張大神也封裝了一個函數,這里我借用一下:

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('#')[0] + '#');
            location.replace('');
        } else {
             location.replace(href);
        }
    }
};

上面函數可以如下應用

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

相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!


相關閱讀:

CSS里的if條件hack怎么寫

CSS網頁錯位怎么處理

怎么用CSS3做出燈光照射顯示文字動畫

以上就是a:active加動畫點擊無效的解決方案的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。




主站蜘蛛池模板: 婷婷伊人五月 | 一级女性全黄久久生活片 | 日韩成人激情 | 最近手机中文字幕大全首页 | 无颜之月第05集免费观看 - 83屋 | 日日天天夜夜 | 青草影院在线观看 | 欧美呦呦| 在线视频污 | 欧美视频在线播放 | 日韩城人网 | 日本免费高清 | 四虎永久在线精品视频播放 | 天天操天天干天天射 | 日韩专区亚洲综合久久 | 日本人妖在线观看 | 一区小说二区另类小说三区图 | 日韩欧美亚洲国产精品字幕久久久 | 色一情一乱一伦 | 日日摸夜夜添夜夜添毛片 | 四虎影视网 | 亚洲日本网站 | 天天爽天天干 | 日本免费成人网 | 在线不欧美 | 色亚洲成人 | 情欲天堂| 青草娱乐视频 | 热の综合热の国产热の潮小说 | 青娱乐手机在线 | 色悠久久久久综合网伊人男男 | 色播五月婷婷 | 自拍视频啪| 伊人四虎 | 四虎永久在线日韩精品观看 | 亚洲欧美日韩激情在线观看 | 日韩欧美无线在码 | 四虎在线影视在线影库 | 欧美午夜免费看爽爽爽 | 天天搞夜夜爽 | 亚洲视频一二区 |