一、如何禁止微信h5頁(yè)面默認(rèn)下拉,并且同時(shí)頁(yè)面局部可滾動(dòng)?眾所周知,微信瀏覽器默認(rèn)是可以上拉和下拉的,就像下面這樣: 然而,有時(shí)候我們需要禁止它,那該怎么做呢? 1. 禁止頁(yè)面的touchmove事件
document.addEventListener('touchmove',function(e){
e.preventDefault();
});
該方法簡(jiǎn)潔明了,但是問(wèn)題來(lái)了,瀏覽器默認(rèn)下拉是禁掉了,可頁(yè)面卻不能滑動(dòng)了。因此,該方法只適用于在單屏內(nèi)能夠顯示全內(nèi)容的頁(yè)面。 2. 使用iScroll.js插件該方法才是真正要提到的,既可以禁止瀏覽器默認(rèn)下拉,也能同時(shí)讓頁(yè)面局部可滾動(dòng)。 使用iScroll.js插件時(shí)需要注意一下幾點(diǎn):
iScroll.js插件的具體用法可以參考:http://wiki.jikexueyuan.com/project/iscroll-5/。 二、Less中寫(xiě)border-radius時(shí)用到 “/” 時(shí)該如何處理?不知道大家現(xiàn)在寫(xiě)CSS是怎么寫(xiě)呢?是直接寫(xiě)原生的CSS,還是使用像Sass或Less這樣的預(yù)編譯語(yǔ)言呢? 如果你是習(xí)慣使用Less,那么遇到border-radius中的 “/” 該如何處理呢? 大家可能都知道border-radius有很多種寫(xiě)法,不知道的話可以看《你不知道的CSS3圓角》這篇文章,其中有比較詳細(xì)的介紹。然而,如果是在Less中直接寫(xiě) “/” 可不行,因?yàn)樗鼤?huì)被認(rèn)為是個(gè)除號(hào)而直接參與運(yùn)算了。這時(shí)的解決方法就是使用 e(“/”) 來(lái)替代,比如像下面這樣:
//Less代碼
.box{ border-radius: 5px e("/") 10px;}
//編譯后的CSS代碼
.box{ border-radius: 5px / 10px;}
三、Less中如何寫(xiě)循環(huán)?Less中的循環(huán)其實(shí)就像是其他編程語(yǔ)言中通常意義上的遞歸調(diào)用,用法如下:
.loop(@n, @i:1) when (@i <= @n){ // 此處僅為函數(shù)定義
.loop(@n,@i+1);
}
.loop(4); // 此處為函數(shù)調(diào)用,代表循環(huán)4次
其中l(wèi)oop是方法名,可以由自己喜好定義,i 是循環(huán)因子,n 是循環(huán)次數(shù)。比如想要給列表元素有規(guī)律地依次設(shè)置不同大小,可以這樣寫(xiě):
//Less代碼
.loop(@n, @i:1) when (@i <= @n){ // 此處僅為函數(shù)定義
li:nth-child(@{i}){ // 注意此處需用 {} 將 i 括起
width: @i*100px;
height: @i*100px;
}
.loop(@n,@i+1);
}
.loop(4);
//HTML代碼 這時(shí)四個(gè) li 元素的寬高分別為 100、200、300和400。 四、如何將一個(gè)數(shù)組中的元素全部賦值給另外一個(gè)數(shù)組?你可能會(huì)想,這還不簡(jiǎn)單,將 a 數(shù)組直接賦值給 b 數(shù)組不就行了嗎? 就像下面這樣: var a = [1,2,3]; var b = a; 實(shí)際上通過(guò)這種方式賦值只不過(guò)是將 a 數(shù)組所在地址賦值給了 b,如果 b 中元素改變其實(shí)也就改變了 a 元素,那么該如何保證賦值操作之后改變 b 而不會(huì)影響 a 呢? 其實(shí)這里就涉及到的深拷貝和淺拷貝的區(qū)別了。 簡(jiǎn)單來(lái)說(shuō),淺拷貝其實(shí)就是簡(jiǎn)單地對(duì)地址的賦值,上面例子就是淺拷貝。 而這里我們要說(shuō)的是數(shù)組的深拷貝,也就是開(kāi)辟一個(gè)新的存儲(chǔ)地址,然后將 a 數(shù)組中的所有元素存入該新地址中,最后將 b 指向該地址。 具體實(shí)現(xiàn)其實(shí)非常簡(jiǎn)單: b = [].concat(a); 我們知道,JS數(shù)組方法中的concat()是用于合并兩個(gè)數(shù)組的,返回的是一個(gè)新的數(shù)組。 以上是我在工作當(dāng)中所遇到的一些問(wèn)題總結(jié),在此與大家共勉! |