官網(wǎng)項目總結(jié)

前言

一直比較習(xí)慣把一些東西記錄在云筆記里逃魄,但是這樣就沒辦法共享
雖然之前斷斷續(xù)續(xù)寫過一段時間的博客,由于各種原(tou)因(lan)閑置了很久澜搅,現(xiàn)在又回來開始寫博客伍俘,希望能夠堅持下去
廢話不多說了邪锌,還是進(jìn)入正題吧

項目要點難點

  1. 仿apple官網(wǎng)輪播效果
  2. 禁用滾動
  3. 網(wǎng)頁調(diào)起百度地圖和高德地圖app
  4. 安卓reload失效,蘋果返回不刷新
1.仿apple官網(wǎng)輪播效果

這里是以swiper為基礎(chǔ)修改而成癌瘾,參考了里面提供的一個demo效果觅丰,但是demo使用的是swiper2,我將其改成了swiper3可用
值得注意的一點是妨退,開啟了watchSlidesProgress之后妇萄,會使onSlideChangeEnd回調(diào)方法在手指緩慢劃動時失效咬荷,如有需要可使用onTransitionEnd代替

var topSwiper = new Swiper ('#index-top-swiper', {
        autoplay: 6000,
        watchSlidesProgress: true,
        speed: 600,
        loop: true,
        autoplayDisableOnInteraction: false,
        pagination: '.swiper-pagination',
        onProgress: function(swiper) {
            for (var c = 0; c < swiper.slides.length; c++) {
                var d = swiper.slides[c],
                b = d.progress,
                e;
                0 < b ? (e = .9 * b * swiper.width, scale = 1 - .1 * b, 1 < b && (scale = .9), txtPositionX = 0, txtPositionY = 30 * b + "px") : (e = 0, scale = 1, txtPositionX = 1E3 * -b + "px", txtPositionY = 0);
                var es = d.style;
                var es2 = d.querySelectorAll(".swiper-scale-item")[0].style;
                es.webkitTransform = es.MsTransform = es.msTransform = es.MozTransform = es.OTransform = es.transform = "translate3d(" + e + "px,0,0)";
                es2.webkitTransform = es2.MsTransform = es2.msTransform = es2.MozTransform = es2.OTransform = es2.transform = "scale(" + scale + ")";
            }
        },
       onTouchStart: function(swiper) {
            for (var c = 0; c < swiper.slides.length; c++) {
                swiper.slides[c].querySelectorAll(".swiper-scale-item")[0].style.transitionDuration = '0ms';
                swiper.slides[c].style.transitionDuration = '0ms';
            }
        },
        onSetTransition: function(swiper, c) {
            for (var d = 0; d < swiper.slides.length; d++) {
                swiper.slides[d].querySelectorAll(".swiper-scale-item")[0].style.transitionDuration = c + 'ms';
                swiper.slides[d].style.transitionDuration = c + 'ms';
            }
        }
    });
2. 禁用滾動

在ios的微信瀏覽器下冠句,滑動到底部繼續(xù)往下劃的話,會出現(xiàn)灰色塊如下幸乒,客戶要求禁止掉這一動作

微信圖片_20171024145537.png

本來是想通用對touchmove事件的preventDefault()去禁止滑動懦底,但是后來發(fā)現(xiàn)了一個很方便的jquery.disablescroll.js
如下簡單地調(diào)用就可以禁止\開啟滾動
$(window).disablescroll();
$(window).disablescroll("undo");

3. 網(wǎng)頁調(diào)起高德地圖app

高德地圖API
以單點標(biāo)注為例
URL: //uri.amap.com/marker?position=121.287689,31.234527&name=park&src=mypage&coordinate=gaode&callnative=0

4. 安卓reload失效,蘋果返回不刷新

客戶要求首頁點擊logo刷新本頁罕扎,一開始使用window.location.reload()進(jìn)行刷新
經(jīng)過測試后ios沒問題聚唐,但是部分安卓微信瀏覽器無效

以下方法轉(zhuǎn)自https://segmentfault.com/a/1190000006753455
原理是給跳轉(zhuǎn)路徑添加一個時間戳參數(shù),如果已經(jīng)存在該參數(shù)則替換

function updateUrl(url,key)  
{  
    var key = (key || 't') + '='; //默認(rèn)是“t”  
    var reg = new RegExp(key + '\\d+');//正則:t=1472286066028  
    var timestamp = +new Date();  
    if(url.indexOf(key)>-1)//有時間戳腔召,直接更新  
    {  
        return url.replace(reg, key + timestamp);  
    }  
    else //沒有時間戳杆查,加上時間戳  
    {  
        if(url.indexOf('\?')>-1)  
        {  
            var urlArr = url.split('\?');  
            if(urlArr[1])  
            {  
                return urlArr[0] + '?' + key + timestamp + '&' + urlArr[1];  
            }  
            else  
            {  
                return urlArr[0] + '?' + key + timestamp;  
            }  
        }  
        else  
        {  
            if(url.indexOf('#')>-1)  
            {  
                return url.split('#')[0]+'?'+key+timestamp+location.hash;  
            }  
            else  
            {  
                return url + '?' + key + timestamp;  
            }  
        }  
    }  
}  
window.location.href = updateUrl(location.href);

關(guān)于解決ios返回不刷新的問題,我使用sessionStorage去記錄訪問歷史臀蛛,監(jiān)聽popstate事件控制跳轉(zhuǎn)行為
若各位有更好的方法亲桦,請評論告知哈,感謝感謝


function pushHistory(){
    var historyUrl = sessionStorage.getItem('history');
    if(historyUrl){
        historyUrl = historyUrl.split(',');
        historyUrl.push(window.location.href);
        historyUrl = historyUrl.join(',');
        sessionStorage.setItem('history', historyUrl);
    }
    else{
        sessionStorage.setItem('history', window.location.href);
    }
    var state = {title:"", url: "#"}; 
    window.history.pushState(state, "", "#"); 
}
function popHistory(){
    window.addEventListener("popstate", function(e){
        var historyUrl = sessionStorage.getItem('history');
        historyUrl = historyUrl.split(',');
        var len = historyUrl.length;
        if(len <= 1) {
            history.pushState(null, null, historyUrl[0]);
            return false;
        }
        historyUrl.pop();
        var url = updateUrl(historyUrl[len-2]);
        historyUrl.pop();
        historyUrl = historyUrl.join(',');
        sessionStorage.setItem('history', historyUrl);
        window.location.href = url;
    }, false); 
}
$(document).ready(function(){
  pushHistory();
});
window.onload = function(){
    setTimeout(popHistory, 0); //在舊版本webkit瀏覽器中掺栅,初次進(jìn)入頁面時會立刻觸發(fā)popstate事件烙肺,顧添加一個定時器延時綁定事件
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纳猪,一起剝皮案震驚了整個濱河市氧卧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌氏堤,老刑警劉巖沙绝,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鼠锈,居然都是意外死亡闪檬,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門购笆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粗悯,“玉大人,你說我怎么就攤上這事同欠⊙” “怎么了横缔?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長衫哥。 經(jīng)常有香客問我茎刚,道長,這世上最難降的妖魔是什么撤逢? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任膛锭,我火速辦了婚禮,結(jié)果婚禮上蚊荣,老公的妹妹穿的比我還像新娘初狰。我一直安慰自己,他們只是感情好互例,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布跷究。 她就那樣靜靜地躺著,像睡著了一般敲霍。 火紅的嫁衣襯著肌膚如雪俊马。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天肩杈,我揣著相機與錄音柴我,去河邊找鬼。 笑死扩然,一個胖子當(dāng)著我的面吹牛艘儒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播夫偶,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼界睁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了兵拢?” 一聲冷哼從身側(cè)響起翻斟,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎说铃,沒想到半個月后访惜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡腻扇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年债热,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幼苛。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡窒篱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情墙杯,我是刑警寧澤济锄,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站霍转,受9級特大地震影響荐绝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜避消,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一低滩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岩喷,春花似錦恕沫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至偷霉,卻和暖如春迄委,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背类少。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工叙身, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人硫狞。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓信轿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親残吩。 傳聞我的和親對象是個殘疾皇子财忽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件泣侮、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,098評論 4 62
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議即彪。它實...
    香橙柚子閱讀 23,853評論 8 183
  • 這次恰好有同學(xué)去了C91,我就委托幫忙弄了幾本小冊子旁瘫。不過這次也是后悔沒有提前準(zhǔn)備祖凫,人家都快要進(jìn)場了我才知道有這么...
    伊蒂雅閱讀 309評論 0 3
  • 由于專業(yè)原因,最近關(guān)注了下比特幣相關(guān)的炒幣新聞酬凳,自己也入場小玩了一把。由此聯(lián)想到這個跟炒股有點像遭庶,之前其實一直對炒...
    originalme22閱讀 172評論 0 0
  • 夜幕悄無聲息的降臨了宁仔,點點雨滴,依然峦睡,淅淅瀝瀝的滴落翎苫。打在窗前棗樹上权埠,落在地上,窗邊煎谍,聲聲響響攘蔽,無規(guī)無律,滴滴答答...
    白衣布衫閱讀 131評論 0 0