網(wǎng)頁切換特效

目前網(wǎng)頁沒有使用任何特效,直接瀏覽器訪問并不覺得難看昵骤,不過 App 首頁也是用 WebView 加載網(wǎng)頁,載入之前空白肯适,載入后直接顯示变秦,就很簡陋。被催了好幾天之后決定解決這個(gè)問題框舔。

從時(shí)間序上蹦玫,整個(gè)載入過程分為三個(gè)階段

  1. WebView 訪問網(wǎng)頁到網(wǎng)頁返回
  2. 網(wǎng)頁返回到內(nèi)容返回
  3. 網(wǎng)頁內(nèi)容出現(xiàn)

其中網(wǎng)頁能控制的是其中的2和3。找了下主流方案刘绣,選用了 animsition樱溉。demo 效果很酷炫,不過用到我們網(wǎng)站里遇到了大問題纬凤。在目標(biāo)頁面接入 animsition 后福贞,頁面一直處于 loading 狀態(tài)無法正常顯示。


debug 后發(fā)現(xiàn)該庫實(shí)現(xiàn)原理是直接先用 css 透明化目標(biāo)區(qū)域內(nèi)容

.animsition,
.animsition-overlay {
    position: relative;
    opacity: 0;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

然后在 js 中顯示 loading 效果

if(options.loading) __.addLoading.call(this, options);

注冊(cè) load 事件

$window.on('load.' + namespace + ' pageshow.' + namespace, function() {
  if(__.settings.timer) clearTimeout(__.settings.timer);
  __.in.call(_this);
});

等 load 事件觸發(fā)后移除 loading 效果

if(options.loading) __.removeLoading.call(_this);

顯示目標(biāo)內(nèi)容

$this
  .removeClass(inClass)
  .css({ 'opacity' : 1 })
  .trigger(__.settings.events.inEnd);

而我們網(wǎng)站目前的 requireJS 架構(gòu)直接等 load 好了之后才會(huì)執(zhí)行頁面 js停士,所以無法收到事件挖帘,出現(xiàn)無盡 loading 的假象。

這和 github 上另一個(gè)人的問題如出一轍 恋技,最奇葩的是作者 close 了這個(gè) issue拇舀,但問題仍然完全沒被解決 orz


只能自己處理。蜻底。

  • 嘗試修改既有框架骄崩,試圖將 js 執(zhí)行的時(shí)機(jī)提前,未果。
  • 打算按照 github 上的方案自己修改刁赖,又想使用第三方 CDN搁痛。
  • 發(fā)現(xiàn)有個(gè) trick 可以將 timeout 設(shè)為0,果然完美實(shí)現(xiàn)頁面效果宇弛。

雖然只完成了階段3的部分鸡典,不過效果實(shí)在酷炫到簡直可以忘掉之前兩個(gè)白屏的階段 XD

不過問題畢竟不能無視,初步計(jì)劃未來做 pull to refresh 時(shí)順便將內(nèi)容全改為 ajax 方式獲取枪芒。這樣階段1的時(shí)間會(huì)被縮短彻况,階段2的事件也可以接收處理,體驗(yàn)應(yīng)該會(huì)更好舅踪。

有考慮過WebView自己在調(diào)用時(shí)顯示 loading纽甘,不過考慮版本升級(jí)等原因,和網(wǎng)頁的效果可能不一致抽碌,暫時(shí)先不處理悍赢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市货徙,隨后出現(xiàn)的幾起案子左权,更是在濱河造成了極大的恐慌,老刑警劉巖痴颊,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赏迟,死亡現(xiàn)場離奇詭異,居然都是意外死亡蠢棱,警方通過查閱死者的電腦和手機(jī)锌杀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泻仙,“玉大人糕再,你說我怎么就攤上這事∮褡” “怎么了亿鲜?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長冤吨。 經(jīng)常有香客問我,道長饶套,這世上最難降的妖魔是什么漩蟆? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮妓蛮,結(jié)果婚禮上怠李,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好捺癞,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布夷蚊。 她就那樣靜靜地躺著,像睡著了一般髓介。 火紅的嫁衣襯著肌膚如雪惕鼓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天唐础,我揣著相機(jī)與錄音箱歧,去河邊找鬼。 笑死一膨,一個(gè)胖子當(dāng)著我的面吹牛呀邢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播豹绪,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼价淌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瞒津?” 一聲冷哼從身側(cè)響起蝉衣,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仲智,沒想到半個(gè)月后买乃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钓辆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年剪验,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片前联。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡功戚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出似嗤,到底是詐尸還是另有隱情啸臀,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布烁落,位于F島的核電站乘粒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏伤塌。R本人自食惡果不足惜灯萍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望每聪。 院中可真熱鬧旦棉,春花似錦齿风、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至真屯,卻和暖如春脸候,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背讨跟。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國打工纪他, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晾匠。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓茶袒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親凉馆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子薪寓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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