為了兼容IE(9-11),需要引入es2015,
其中: 'babel-polyfill',babel-preset-es2015需要通過npm 安裝,加到package.json里
將iview按需引入
fillNumberInOneArray
將數(shù)字 m 填入到 第 n 個小宮格中,為什么要隨機選一個位置放呢?后期快放滿的時候,沖突的概率越來越大,根本不收斂的呀。你都能 judgeElse 了,為什么不能在生成 random 坐標(biāo)之前就排除一下已經(jīng)放了數(shù)字的格子呢?這一步浪費的效率不計其數(shù),甚至導(dǎo)致了算法有極大可能無法停止。9個格子有一個空位,用random去撞這個空位置,那有 8/9 的概率撞不到,一直死循環(huán)。
已經(jīng)被占的格子提前排除,這是其一。其二,假設(shè)小9宮格都剩下3個格子,需要放 7 了對吧,隨機一下,得到一個空格子,檢查了一下橫豎,發(fā)現(xiàn)不能放,接下來你需要標(biāo)記這個格子不可用,否則下次再 random 還有 1/3 的概率打中這個不可用的格子,導(dǎo)致算法不收斂。犯過的錯,為什么下次還要繼續(xù)犯?下次你就該排除掉它,在剩下的選項里挑,否則這次試錯就沒有意義啦,那這就不是算法,完全就是在碰運氣。
function calculateCoordinate(position,n)
也可以精簡一下,沒必要那么多 switch-case:
function calculateCoordinate(position, n) {
// 先計算九宮格是幾排幾列的九宮格, 我們把數(shù)獨看成是 3*3 的9個9宮格
var nx = n % 3;
var ny = Math.floor(n / 3);
var px = position % 3;
var py = Math.floor(position / 3);
// 同樣的套路處理小9宮格內(nèi)的坐標(biāo),
// 轉(zhuǎn)換一下坐標(biāo)系
var returnX = px + nx * 3;
var returnY = py + ny * 3;
return [returnY, returnX];
}
應(yīng)該這么講:如果你寫了一個css,完全只依賴于vh
, vw
,而完全不設(shè)置max-height
, max-width
的話,那么你的這些頁面元素的寬度和高度會隨著窗口的大小而變化,在屏幕非常大的時候,元素可能會變得非常大,屏幕非常小的時候,元素會變得非常小。
但是誰會那么傻,只設(shè)置vw
而不設(shè)置max-width
呢?所以其實這個假設(shè)的意義并不大。我們當(dāng)然會設(shè)置width: 100vw; max-width: 960px
,當(dāng)屏幕寬度小于960px
的時候,就占滿整個屏幕,屏幕寬度大于960px
的時候,就最多960px
,或者再結(jié)合上min-width
等等,如果想搞得再復(fù)雜一些,還有@media query
可以使用。具體怎么用,完全看個人對css掌握的精通程度了。
setState中很重要的三個功能是:
而且并不是說只有setState才可以改變state。
純js實現(xiàn):
html
<div class="a ">11</div>
<div class="b ">11</div>
<div class="c ">11</div>
css
.b{
background:red;
}
js
function addClass (elements,className){
for (var i=0;i < elements.length;i++){
var element = elements[i];
if(!element.className.match(new RegExp('(\\s|^)'+className+'(\\s|$)'))){
element.className +=' '+className;
}
}
}
var elements = document.getElementsByTagName("div");
addClass(elements,"b");
更新
(setAttr 不覆蓋原來屬性,如果需要覆蓋修改下代碼即可)
function getAttr(element,attrName){
if(typeof element!='object'||typeof attrName!='string') return;
return attrName =='class'? element.className:element.getAttribute(attrName);
}
function setAttr (element,attrName,attrValue){
if(typeof element !='object'|| typeof attrName!='string' || typeof attrName!='string') return;
var _attrValue = getAttr(element,attrName);
if(!_attrValue){
_attrValue = attrValue;
}else if(!_attrValue.match(new RegExp('(\\s|^)'+attrValue+'(\\s|$)'))){
_attrValue = _attrValue + ' ' + attrValue;
}
attrName == 'class'? element.className=_attrValue:element.setAttribute(attrName,_attrValue);
}
var element = document.getElementsByTagName("div")[0];
setAttr(element,"class","b");
setAttr(element,"id","b");
setAttr(element,"id","b c");
更新
封裝為類似jquery的調(diào)用方式
function MyJquery(selector){ //這里演示,只實現(xiàn)id選擇器
this.element = document.getElementById(selector);
}
MyJquery.prototype.getAttr = function (attrName){
if(typeof attrName!='string') return;
return attrName =='class'? this.element.className:this.element.getAttribute(attrName);
};
MyJquery.prototype.setAttr = function (attrName,attrValue){
if(typeof attrName!='string' || typeof attrName!='string') return;
var _attrValue = this.getAttr(attrName);
if(!_attrValue){
_attrValue = attrValue;
}else if(!_attrValue.match(new RegExp('(\\s|^)'+attrValue+'(\\s|$)'))){
_attrValue = _attrValue + ' ' + attrValue;
}
attrName == 'class'? this.element.className = _attrValue:this.element.setAttribute(attrName, _attrValue);
};
var $ = function (selector) {
return new MyJquery(selector);
}
$("aa").setAttr("class","b");
(MDN)[https://developer.mozilla.org...]
當(dāng)加載自不同域的腳本中發(fā)生語法錯誤時,為避免信息泄露(參見bug 363897),語法錯誤的細節(jié)將不會報告,而代之簡單的"Script error."。在某些瀏覽器中,通過在<script>使用crossorigin屬性并要求服務(wù)器發(fā)送適當(dāng)?shù)?CORS HTTP 響應(yīng)頭,該行為可被覆蓋。一個變通方案是單獨處理"Script error.",告知錯誤詳情僅能通過瀏覽器控制臺查看,無法通過JavaScript訪問。
為什么你的箭頭函數(shù)沒有被編譯呢? 你檢查下原因,有可能是因為這個
檢測下兩者的Content-Type/Content-Disposition
。
https://stackoverflow.com/que...
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="picture.png"
Means "I don't know what the hell this is. Please save it as a file, preferably named picture.png".Content-Type: image/png
Content-Disposition: attachment; filename="picture.png"
Means "This is a PNG image. Please save it as a file, preferably named picture.png".Content-Type: image/png
Content-Disposition: inline; filename="picture.png"
Means "This is a PNG image. Please display it unless you don't know how to display PNG images. Otherwise, or if the user chooses to save it, we recommend the name picture.png for the file you save it as".
justify-content: flex-start;不可以嗎?主要不理解多區(qū)塊靠左置中什么意思。
antd另外更簡潔一種方式,,引入組件的時候不需要引入css,推薦一個github項目webpack4+antd
const gatewayB2c = [{
"singlemaxamt": "9999999999999",
"biztype": "1201",
"singleminamt": "0.01",
"bankcode": "000000",
"bankname": "招商銀行",
"cdflag": "A"
}];
let data = [];
gatewayB2c.forEach(function (item) {
for (let [key, value] of Object.entries(item)) {
var obj = {
name: key,
value: value
};
data.push(obj);
}
});
console.log(data);
我暫時修改react-native源碼防止它中斷程序,暫時沒有問題,但這不是解決方法,希望Facebook官方可以修復(fù)好這個bug。
實際上是要干嘛? 我覺得這個需求不合理
你的路由需要配置,異步加載
通過transform來寫動畫,不要用top,當(dāng)頁面在滾動時,調(diào)整translate值就行了
補充:
var test = $('#test'),
bodyScroll = 0;
$(window).on('scroll',function(){
bodyScroll = $(window).scrollTop();
});
function loop(){
requestAnimationFrame(loop);
test.css("top",bodyScroll + 100 + "px");
};
requestAnimationFrame(loop);
增加 flexWrap: 'wrap',
設(shè)置 flex 為 可以換行
在HTML模板中,$emit傳入的自定義事件名稱全部小寫。
你可以試試svg,這有一個demo: https://echaoo.github.io/2017...
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。