阿里巴巴Web前端開發面試題賦答案

最近發現阿里巴巴的Web前端開發面試題,共分三部分:CSS部分,JavaScript部分,緊急處理部分,分享給你們作個參考~ javascript

第一部分:用CSS實現佈局 前端

讓咱們一塊兒來作一個頁面 java

首先,咱們須要一個佈局。 面試

請使用CSS控制3個div,實現以下圖的佈局。 函數

e65e0e34544aa20a251f14a2.jpg 

第二部分:用javascript優化佈局 佈局

因爲咱們的用戶羣喜歡放大看頁面 優化

因而咱們給上一題的佈局作一次優化。 this

當鼠標略過某個區塊的時候,該區塊會放大25%, spa

而且其餘的區塊仍然固定不動。 調試

78662dd02d1862cba0ec9cc6.jpg 

提示:

也許,咱們其餘的佈局也會用到這個放大的效果哦。可使用任何開源代碼,包括曾經你本身寫的。

關鍵字:javascript、封裝、複用

第三部分:處理緊急狀況

好了,咱們的頁面完成了。

因而咱們將頁面發佈上網。

忽然,晴天霹靂,頁面沒法訪問了,這時候,你會怎麼作?

答案部分

第一題:主要考慮幾個問題:1. IE6 的 3 像素 BUG;2. 清楚浮動;

CSS代碼:

 
  1. div{background:#CCCCCC;}  
  2. #first{float:left;width:100pxheight:150px}  
  3. #second{clear:left;float:left;margin-top:10px;width:100px;height:150px}  
  4. #third{zoom:1width:200px;margin-left:110px;_margin-left:107pxheight:310px}  

XML/HTML代碼

 
  1. <div id="first"></div>     
  2. <div id="second"></div>     
  3. <div id="third"></div> 

 第二題:用javascript優化佈局

提示:

也許,咱們其餘的佈局也會用到這個放大的效果哦。

可使用任何開源代碼,包括曾經你本身寫的。

關鍵字:javascript、封裝、複用

慚愧啊,用上邊那個佈局我怎麼也沒把它優化出來,硬這頭皮用絕對定位改了佈局;

因此樣式改爲了這樣:

 
  1. body{ margin:0; padding:0}  
  2. div{background:#CCCCCC; position:absolute}  
  3. #first{width:100px; height:150px}  
  4. #second{top:160px;width:100px;height:150px}  
  5. #third{ width:200px; height:310px; left:110px} 

javascript 要考慮封裝、複用

 
  1. function zoom(id,x,y){ // 設置縮放函數參數:容器id、橫向縮放倍數、縱向縮放倍數(等比例縮放時也能夠設定一個參數)  
  2. var obj=document.getElementById(id); // 獲取元素對象值  
  3. var dW=obj.clientWidth; // 獲取元素寬度  
  4. var dH=obj.clientHeight; // 獲取元素高度  
  5. //var oTop=obj.offsetTop;  
  6. //var oLeft=obj.offsetLeft;  
  7. obj.onmouseover=function(){ // 鼠標移入  
  8. this.style.width=dW*x+"px"// 橫向縮放  
  9. this.style.height=dH*y+"px"// 縱向縮放  
  10. this.style.backgroundColor="#f00″; // 設置調試背景  
  11. this.style.zIndex=1; // 設置z軸優先  
  12. }  
  13. obj.onmouseout=function(){ // 鼠標移出,設回默認值  
  14. this.style.width="";  
  15. this.style.height="";  
  16. this.style.padding="";  
  17. this.style.backgroundColor="";  
  18. this.style.zIndex="";  
  19. }  
  20. }  
  21. zoom("first",1.25,1.25);  
  22. zoom("second",1.25,1.25);  
  23. zoom("third",1.25,1.25); 

第三題也許是JS代碼沒有放在頁面的後面,加載速度慢還沒有顯示出來。或者是頁面地址出錯了。

相關文章
相關標籤/搜索