成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

手機(jī)端頁面在項(xiàng)目中遇到的一些問題及解決辦法(持續(xù)更新)

teren / 1379人閱讀

摘要:解決頁面使用在上滑動(dòng)卡頓的問題首先你可能會(huì)給頁面的和增加了然后就可能造成上頁面滑動(dòng)的卡頓問題。頁面橡皮彈回效果遮擋頁面選項(xiàng)卡有時(shí)和的去除掉問題可能就沒有了。該行無文字時(shí),光標(biāo)高度與的一致。

1.解決頁面使用overflow: scroll在iOS上滑動(dòng)卡頓的問題?

首先你可能會(huì)給頁面的html和body增加了height: 100%, 然后就可能造成IOS上頁面滑動(dòng)的卡頓問題。解決方案是:
(1) 看是否能把body和html的height: 100%去除掉。
(2) 在滾動(dòng)的容器中增加:-webkit-overflow-scrolling: touch或者給body增加:body {overflow-x: hidden}。

2.ios頁面橡皮彈回效果遮擋頁面選項(xiàng)卡?

(1) 有時(shí)body和html的height: 100%去除掉問題可能就沒有了。
(2) 到達(dá)臨界值的時(shí)候在阻止事件默認(rèn)行為

var startY,endY;
//記錄手指觸摸的起點(diǎn)坐標(biāo)
$("body").on("touchstart",function (e) {
     startY = e.touches[0].pageY;
});
$("body").on("touchmove",function (e) {
     endY = e.touches[0].pageY;  //記錄手指觸摸的移動(dòng)中的坐標(biāo)
     //手指下滑,頁面到達(dá)頂端不能繼續(xù)下滑
     if(endY>startY&& $(window).scrollTop()<=0){
         e.preventDefault();
     }
   //手指上滑,頁面到達(dá)底部能繼續(xù)上滑
     if(endY=$("body")[0].scrollHeight){
         e.preventDefault();
     }
})

有時(shí)也會(huì)碰見彈窗出來后兩個(gè)層的橡皮筋效果出現(xiàn)問題,我們可以在彈出彈出時(shí)給底層頁面加上一個(gè)類名,類名禁止頁面滑動(dòng)這樣下層的橡皮筋效果就會(huì)被禁止,就不會(huì)影響彈窗層。

3.IOS機(jī)型margin屬性無效問題?

(1) 設(shè)置html body的高度為百分比時(shí),margin-bottom在safari里失效
(2) 直接padding代替margin

4.Ios綁定點(diǎn)擊事件不執(zhí)行?

(1)添加樣式cursor :pointer。點(diǎn)擊后消除背景閃一下的css:-webkit-tap-highlight-color:transparent;

5.Ios鍵盤換行變?yōu)樗阉鳎?/b>

首先,input 要放在 form里面。

這時(shí) "換行" 已經(jīng)變成 “前往”。

如果想變成 “搜索”,input 設(shè)置 type="search"。

6.Jq對a標(biāo)簽點(diǎn)擊事件不生效?

出現(xiàn)這種情況的原因不明,有的朋友解釋:我們平時(shí)都是點(diǎn)擊的A標(biāo)簽中的文字了。 所以要想用JS模擬點(diǎn)擊A標(biāo)簽事件,就得先往A標(biāo)簽中的文字添加能被JS捕獲的元素,然后再用JS模擬點(diǎn)擊該元素即可。但是我覺得不合理,雖然找不到原因但是解決辦法還是有的。
(1)document.getElementById("abc ").click();
(2)$("#abc ")[0].click();

7.有時(shí)因?yàn)榉?wù)器或者別的原因?qū)е马撁嫔系膱D片沒有找到?

這是我們想需要用一個(gè)本地的圖片代替沒有找的的圖片

 

8.transform屬性影響position:fixed?

(1)規(guī)范中有規(guī)定:如果元素的transform值不為none,則該元素會(huì)生成包含塊和層疊上下文。CSS Transforms Module Level 1不只在手機(jī)上,電腦上也一樣。除了fixed元素會(huì)受影響之外,z-index(層疊上下文)值也會(huì)受影響。絕對定位元素等和包含塊有關(guān)的屬性都會(huì)受到影響。當(dāng)然如果transform元素的display值為inline時(shí)又會(huì)有所不同。最簡單的解決方法就是transform元素內(nèi)部不能有absolute、fixed元素.

9.ios對position: fixed不太友好,有時(shí)我們需要加點(diǎn)處理?

在安卓上面,點(diǎn)擊頁面底部的輸入框,軟鍵盤彈出,頁面移動(dòng)上移。
而ios上面,點(diǎn)擊頁面底部輸入框,軟鍵盤彈出,輸入框看不到了。。。查資料說什么的都有,iscroll,jquery-moblie,absolute,fixe,static都非常復(fù)雜,要改很多。。。
讓他彈出時(shí)讓滾動(dòng)條在最低部

var u = navigator.userAgent, app = navigator.appVersion;
var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端
if (isiOS) {
    $("textarea").focus(function () {
        window.setTimeout("scrollBottom()", 500);
    });
}
function scrollBottom() {
    window.scrollTo(0, $("body").height());
}
10.jq validate插件驗(yàn)證問題?

(1)所以的input必須有name不然會(huì)出錯(cuò)

11.有時(shí)手機(jī)會(huì)出現(xiàn)斷網(wǎng)的情況,我沒可能會(huì)對斷網(wǎng)的情況做一些處理?

(1)navigator.onLine可判斷是否是脫機(jī)狀態(tài).

12.判斷對象的長度?

(1)用Object.keys,Object.keys方法返回的是一個(gè)數(shù)組,數(shù)組里面裝的是對象的屬性。

var person = {
    "name" : "zhangshan",
    "sex" : "man",
    "age" : "50",
    "height" : "180",
    "phone" : "1xxxxxxxxxx",
    "email" : "[email protected]"
};
var arr = Object.keys(person);
console.log(arr.length);

(2)Object.getOwnPropertyNames(obj).length

13.上一題我們用到了Object.keys與Object.getOwnPropertyNames他們的區(qū)別?

Object.keys定義:返回一個(gè)對象可枚舉屬性的字符串?dāng)?shù)組;
Object.getOwnPropertyNames定義:返回一個(gè)對象可枚舉、不可枚舉屬性的名稱;
屬性的可枚舉性、不可枚舉性:定義:可枚舉屬性是指那些內(nèi)部 “可枚舉” 標(biāo)志設(shè)置為 true 的屬性,對于通過直接的賦值和屬性初始化的屬性,該標(biāo)識(shí)值默認(rèn)為即為 true,對于通過 Object.defineProperty 等定義的屬性,該標(biāo)識(shí)值默認(rèn)為 false。

var obj = { "prop1": "v1" };
Object.defineProperty(obj, "prop2", { value: "v2", enumerable: false });
console.log(Object.keys(obj).length);           //output:1
console.log(Object.getOwnPropertyNames(obj).length);    //output:2

console.log(Object.keys(obj));           //output:Array[1] => [0: "prop1"]
console.log(Object.getOwnPropertyNames(obj));    //output:Array[2] => [0: "prop1", 1: "prop2"]


綜合實(shí)例:

var obj = { "prop1": "v1" };
Object.defineProperty(obj, "prop2", { value: "v2", enumerable: false});

console.log(obj.hasOwnProperty("prop1")); //output: true
console.log(obj.hasOwnProperty("prop2")); //output: true

console.log(obj.propertyIsEnumerable("prop1")); //output: true
console.log(obj.propertyIsEnumerable("prop2")); //output: false

console.log("prop1" in obj);    //output: true
console.log("prop2" in obj);    //output: true

for (var item in obj) {
    console.log(item);
}
//output:prop1

for (var item in Object.getOwnPropertyNames(obj)) {
    console.log(Object.getOwnPropertyNames(obj)[item]);
}
//ouput:[prop1,prop2]
14.移動(dòng)開發(fā)不同手機(jī)彈出數(shù)字鍵盤問題?

(1)type="tel"
iOS和Android的鍵盤表現(xiàn)都差不多
(2)type="number"
優(yōu)點(diǎn)是Android下實(shí)現(xiàn)的一個(gè)真正的數(shù)字鍵盤
缺點(diǎn)一:iOS下不是九宮格鍵盤,輸入不方便
缺點(diǎn)二:舊版Android(包括微信所用的X5內(nèi)核)在輸入框后面會(huì)有超級雞肋的小尾巴,好在Android 4.4.4以后給去掉了。
不過對于缺點(diǎn)二,我們可以用webkit私有的偽元素給fix掉:

input[type=number]::-webkit-inner-spin-button,  
input[type=number]::-webkit-outer-spin-button { 
        -webkit-appearance: none; 
        appearance: none; 
        margin: 0; 
}

(3)pattern屬性
pattern用于驗(yàn)證表單輸入的內(nèi)容,通常HTML5的type屬性,比如email、tel、number、data類、url等,已經(jīng)自帶了簡單的數(shù)據(jù)格式驗(yàn)證功能了,加上pattern后,前端部分的驗(yàn)證更加簡單高效了。
顯而易見,pattern的屬性值要用正則表達(dá)式。
實(shí)例 簡單的數(shù)字驗(yàn)證
數(shù)字的驗(yàn)證有兩個(gè):

15.input[number]類型輸入非數(shù)字字符

js獲取的值是空;比如-12,+123等

16.Javascript:history.go()和history.back()的用法與區(qū)別?

簡單的說就是:go(-1):返回上一頁,原頁面表單中的內(nèi)容會(huì)丟失;back():返回上一頁,原頁表表單中的內(nèi)容會(huì)保留。history.go(-1):后退+刷新history.back():后退
之所以注意到這個(gè)區(qū)別,是因?yàn)椴煌臑g覽器后退行為也是有區(qū)別的,而區(qū)別就跟javascript:history.go()和history.back()的區(qū)別類似。
Chrome和ff瀏覽器后退頁面,會(huì)刷新后退的頁面,若有數(shù)據(jù)請求也會(huì)提交數(shù)據(jù)申請。類似于history.go(-1);
而safari(包括桌面版和ipad版)的后退按鈕則不會(huì)刷新頁面,也不會(huì)提交數(shù)據(jù)申請。類似于javascript:history.back();

17.Meta基礎(chǔ)知識(shí):

// width    設(shè)置viewport寬度,為一個(gè)正整數(shù),或字符串‘device-width’
// height   設(shè)置viewport高度,一般設(shè)置了寬度,會(huì)自動(dòng)解析出高度,可以不用設(shè)置
// initial-scale    默認(rèn)縮放比例,為一個(gè)數(shù)字,可以帶小數(shù)
// minimum-scale    允許用戶最小縮放比例,為一個(gè)數(shù)字,可以帶小數(shù)
// maximum-scale    允許用戶最大縮放比例,為一個(gè)數(shù)字,可以帶小數(shù)
// user-scalable    是否允許手動(dòng)縮放 
空白頁基本meta標(biāo)簽








其他meta標(biāo)簽





















18.移動(dòng)端如何定義字體font-family?
@ --------------------------------------中文字體的英文名稱
@ 宋體 SimSun
@ 黑體 SimHei
@ 微信雅黑 Microsoft Yahei
@ 微軟正黑體 Microsoft JhengHei
@ 新宋體 NSimSun
@ 新細(xì)明體 MingLiU
@ 細(xì)明體 MingLiU
@ 標(biāo)楷體 DFKai-SB
@ 仿宋 FangSong
@ 楷體 KaiTi
@ 仿宋_GB2312 FangSong_GB2312
@ 楷體_GB2312 KaiTi_GB2312
@
@ 說明:中文字體多數(shù)使用宋體、雅黑,英文用Helvetica

body { font-family: Microsoft Yahei,SimSun,Helvetica; }

19.打電話發(fā)短信寫郵件怎么實(shí)現(xiàn)?
// 一、打電話
打電話給:0755-10086

//  二、發(fā)短信,winphone系統(tǒng)無效
發(fā)短信給: 10086

// 三、寫郵件
點(diǎn)擊我發(fā)郵件
//2.收件地址后添加?cc=開頭,可添加抄送地址(Android存在兼容問題)
點(diǎn)擊我發(fā)郵件
//3.跟著抄送地址后,寫上&bcc=,可添加密件抄送地址(Android存在兼容問題)
點(diǎn)擊我發(fā)郵件
//4.包含多個(gè)收件人、抄送、密件抄送人,用分號(hào)(;)隔開多個(gè)郵件人的地址
點(diǎn)擊我發(fā)郵件
//5.包含主題,用?subject=
點(diǎn)擊我發(fā)郵件
//6.包含內(nèi)容,用?body=;如內(nèi)容包含文本,使用%0A給文本換行 
點(diǎn)擊我發(fā)郵件
//7.內(nèi)容包含鏈接,含http(s)://等的文本自動(dòng)轉(zhuǎn)化為鏈接
點(diǎn)擊我發(fā)郵件
//8.內(nèi)容包含圖片(PC不支持)
點(diǎn)擊我發(fā)郵件
//9.完整示例
點(diǎn)擊我發(fā)郵件
20.移動(dòng)端touch事件(區(qū)分webkit和winphone)?

// 以下支持webkit
touchstart——當(dāng)手指觸碰屏幕時(shí)候發(fā)生。不管當(dāng)前有多少只手指
touchmove——當(dāng)手指在屏幕上滑動(dòng)時(shí)連續(xù)觸發(fā)。通常我們再滑屏頁面,會(huì)調(diào)用event的preventDefault()可以阻止默認(rèn)情況的發(fā)生:阻止頁面滾動(dòng)
touchend——當(dāng)手指離開屏幕時(shí)觸發(fā)
touchcancel——系統(tǒng)停止跟蹤觸摸時(shí)候會(huì)觸發(fā)。例如在觸摸過程中突然頁面alert()一個(gè)提示框,此時(shí)會(huì)觸發(fā)該事件,這個(gè)事件比較少用

//TouchEvent說明:
touches:屏幕上所有手指的信息
targetTouches:手指在目標(biāo)區(qū)域的手指信息
changedTouches:最近一次觸發(fā)該事件的手指信息
touchend時(shí),touches與targetTouches信息會(huì)被刪除,changedTouches保存的最后一次的信息,最好用于計(jì)算手指信息

//參數(shù)信息(changedTouches[0])
clientX、clientY在顯示區(qū)的坐標(biāo)
target:當(dāng)前元素

//事件響應(yīng)順序
ontouchstart > ontouchmove > ontouchend > onclick

21.點(diǎn)擊元素產(chǎn)生背景或邊框怎么去掉
//ios用戶點(diǎn)擊一個(gè)鏈接,會(huì)出現(xiàn)一個(gè)半透明灰色遮罩, 如果想要禁用,可設(shè)置-webkit-tap-highlight-color的alpha值為0去除灰色半透明遮罩;
//android用戶點(diǎn)擊一個(gè)鏈接,會(huì)出現(xiàn)一個(gè)邊框或者半透明灰色遮罩, 不同生產(chǎn)商定義出來額效果不一樣,可設(shè)置-webkit-tap-highlight-color的alpha值為0去除部分機(jī)器自帶的效果;
//winphone系統(tǒng),點(diǎn)擊標(biāo)簽產(chǎn)生的灰色半透明背景,能通過設(shè)置去掉;
//特殊說明:有些機(jī)型去除不了,如小米2。對于按鈕類還有個(gè)辦法,不使用a或者input標(biāo)簽,直接用div標(biāo)簽 
a,button,input,textarea { 
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
    -webkit-user-modify:read-write-plaintext-only; //-webkit-user-modify有個(gè)副作用,就是輸入法不再能夠輸入多個(gè)字符
}   
// 也可以 
* { -webkit-tap-highlight-color: rgba(0,0,0,0); }
//winphone下
22.美化表單元素

//一、使用appearance改變webkit瀏覽器的默認(rèn)外觀
input,select { -webkit-appearance:none; appearance: none; }

//二、winphone下,使用偽元素改變表單元素默認(rèn)外觀
//1.禁用select默認(rèn)箭頭,::-ms-expand修改表單控件下拉箭頭,設(shè)置隱藏并使用背景圖片來修飾
select::-ms-expand { display:none; }

//2.禁用radio和checkbox默認(rèn)樣式,::-ms-check修改表單復(fù)選框或單選框默認(rèn)圖標(biāo),設(shè)置隱藏并使用背景圖片來修飾
input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check { display:none; }

//3.禁用pc端表單輸入框默認(rèn)清除按鈕,::-ms-clear修改清除按鈕,設(shè)置隱藏并使用背景圖片來修飾
input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear { display:none; }

23.移動(dòng)端字體單位font-size選擇px還是rem?

// 如需適配多種移動(dòng)設(shè)備,建議使用rem。以下為參考值:
html { font-size: 62.5%; } //10*16 = 62.5%
//設(shè)置12px字體 這里注意在rem前要加上對應(yīng)的px值,解決不支持rem的瀏覽器的兼容問題,做到優(yōu)雅降級
body { font-size:12px; font-size:1.2rem; }

24.input標(biāo)簽添加上disable屬性在ios端字體顏色不兼容的問題?

input[disabled],input:disabled,input.disabled{

color: #3e3e3e;  
-webkit-text-fill-color: #3e3e3e;  
-webkit-opacity:1;  
opacity: 1;  

}

25.IOS 的光標(biāo)大小問題

IE:不管該行有沒有文字,光標(biāo)高度與font-size一致。
FF:該行有文字時(shí),光標(biāo)高度與font-size一致。該行無文字時(shí),光標(biāo)高度與input的height一致。
Chrome:該行無文字時(shí),光標(biāo)高度與line-height一致;該行有文字時(shí),光標(biāo)高度從input頂部到文字底部(這兩種情況都是在有設(shè)定line-height的時(shí)候),如果沒有l(wèi)ine-height,則是與font-size一致。
IOS中情況和Chrome 相似。

設(shè)置字體大小和行高一致,然后通過 padding 撐開大小
只給IE瀏覽器設(shè)置 line-height
-ms-line-height:40px;

26.history.go()和history.back()的用法和區(qū)別?

go(-1): 返回上一頁,原頁面表單中的內(nèi)容會(huì)丟失,是個(gè)新頁面。
back(): 返回上一頁,原頁表表單中的內(nèi)容會(huì)保留。
不同的瀏覽器的后退行為也是有區(qū)別的:
chrome和ff瀏覽器后退頁面,會(huì)刷新后退的頁面,若有數(shù)據(jù)請求也會(huì)提交數(shù)據(jù)申請。類似于
history.go(-1) 。
而safari(包括桌面版和ipad版本)的后退按鈕則不會(huì)刷新頁面,也不會(huì)提交數(shù)據(jù)申請。類似于
Javascript:history.back()。

27.button標(biāo)簽沒有寫type?

button標(biāo)簽替代input時(shí)注意,不寫type是會(huì)出現(xiàn)很多問題。
1.如果button標(biāo)簽在from里 button 默認(rèn)類型是submit點(diǎn)擊時(shí)會(huì)提交from。
2.有時(shí)給button綁定的點(diǎn)擊事件會(huì)多次執(zhí)行。
獲取button值,ie瀏覽器獲取的是button間的值,其他獲取的value的值

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/113434.html

相關(guān)文章

  • 手機(jī)頁面項(xiàng)目遇到一些問題解決辦法持續(xù)更新

    摘要:解決頁面使用在上滑動(dòng)卡頓的問題首先你可能會(huì)給頁面的和增加了然后就可能造成上頁面滑動(dòng)的卡頓問題。頁面橡皮彈回效果遮擋頁面選項(xiàng)卡有時(shí)和的去除掉問題可能就沒有了。該行無文字時(shí),光標(biāo)高度與的一致。 1.解決頁面使用overflow: scroll在iOS上滑動(dòng)卡頓的問題? 首先你可能會(huì)給頁面的html和body增加了height: 100%, 然后就可能造成IOS上頁面滑動(dòng)的卡頓問題。解決方案...

    wyk1184 評論0 收藏0
  • 手機(jī)頁面項(xiàng)目遇到一些問題解決辦法持續(xù)更新

    摘要:解決頁面使用在上滑動(dòng)卡頓的問題首先你可能會(huì)給頁面的和增加了然后就可能造成上頁面滑動(dòng)的卡頓問題。頁面橡皮彈回效果遮擋頁面選項(xiàng)卡有時(shí)和的去除掉問題可能就沒有了。該行無文字時(shí),光標(biāo)高度與的一致。 1.解決頁面使用overflow: scroll在iOS上滑動(dòng)卡頓的問題? 首先你可能會(huì)給頁面的html和body增加了height: 100%, 然后就可能造成IOS上頁面滑動(dòng)的卡頓問題。解決方案...

    Cristic 評論0 收藏0
  • CSS布局

    摘要:經(jīng)過半年的打磨,正式發(fā)布,主要是新增了一些常用組件,并使用命名,為接下來的微信小程序開發(fā)做好準(zhǔn)備。這兩種方式實(shí)現(xiàn)的瀑布流式布局均支持首屏和網(wǎng)頁窗口大小改變時(shí)的列數(shù)自適應(yīng)。主要是對于標(biāo)準(zhǔn)里的布局方式草案中的布局方式進(jìn)行一些總結(jié)。 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問題:怎樣通過 CSS 簡單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開始學(xué)習(xí) CSS 的時(shí)候,看...

    jaysun 評論0 收藏0
  • 微信小程序開發(fā)遇到問題解決辦法(三)

    摘要:資料整理關(guān)于配置微信小程序頁面附關(guān)于微信搜索小程序內(nèi)頁面的功能,只能在線上環(huán)境有用,而且沒有提供測試的渠道。二微信小程序激勵(lì)視頻廣告接入微信視頻廣告指引截圖具體使用注意激勵(lì)視頻廣告組件是一個(gè)原生組件,層級比普通組件高。 大綱:根據(jù)近期我在小程序開發(fā)中接到的需求,總結(jié)一下下面四個(gè)開發(fā)需求所遇到的問題: 1、關(guān)于微信現(xiàn)已開放小程序內(nèi)搜索(sitemap 配置);2、微信小程序的激勵(lì)視頻廣告...

    Lowky 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<