繼承--貌似小米筆試題
前些天答小米筆試題,本人由於身體原因,只能在答了一半題之後,棄題而不顧,奔向廁所,現在隱隱回憶起當時的一道題,覺得挺有意思,就拿出來寫寫。
題目要求:實現點選相應按鈕畫圓和方塊,都旋轉,變小。圓和方塊繼承一個主類Draw,每個元素以滑鼠點選的中心為準。 我記不清具體實現什麼效果,但主要是繼承!!!
我在這裡寫一種自己的實現方法。
樣式:
<style type="text/css"> *{ margin:0; padding:0; } button{ width:300px; height:30px; line-height: 30px; border:0; color:white; text-align: center; display: inline-block; position: absolute; top:30px; } #parent{ width:100%; height:500px; margin-top: 100px; background-color: #ccc; position: relative; } .circle{ width:100px; height:100px; background-color: #078600; border-radius:50%; position: absolute; transition:width 2s, height 2s, transform 2s; } .square{ width:100px; height:100px; background-color: #a40004; position: absolute; transition:width 2s, height 2s, transform 2s; } </style>
主體元素:
<body>
<button style="background:#0acf00; left:300px;">DRAW CIRCLE</button>
<button style="background:#fd0006; left:800px;">DRAW SQUARE</button>
<div id="parent"></div>
</body>
js實現繼承及效果:
<script type="text/javascript"> var buts = document.getElementsByTagName('button'); var pat = document.getElementById('parent');
</pre><pre name="code" class="javascript">// 建立一個主類,實現建立圓和方塊的方法
function Draw(){};
Draw.prototype = {
constructor : Draw,
// 以event為引數,作為事件源,偵測滑鼠位置,確定div的建立位置。 createCircle : function(event){ var circle = document.createElement("div"); circle.className = "circle"; circle.style.left = event.clientX - pat.offsetLeft - 50 +"px"; circle.style.top = event.clientY - pat.offsetTop - 50 +"px"; return circle; }, createSquare : function(){ var square = document.createElement("div"); square.className = "square"; square.style.left = event.clientX - pat.offsetLeft - 50 +"px"; square.style.top = event.clientY - pat.offsetTop - 50 +"px"; return square; } }
</pre><pre name="code" class="javascript">// 圓和方塊類
function Circle(){};
function Square(){};
// 實現繼承
Circle.prototype = new Draw();
Square.prototype = new Draw();
buts[0].onclick = function(){
this.style.backgroundColor = "#000";
buts[1].style.backgroundColor = "#fd0006";
pat.onclick = function(e){
var event = e || window.e;
var newCircle = new Circle();
var cc = newCircle.createCircle(event);
pat.appendChild(cc);
setTimeout(function(){
cc.style.width = 10+"px";
cc.style.height = 10+"px";
cc.style.transform = "rotateX(360deg)";
},0);
}
}
buts[1].onclick = function(){
this.style.backgroundColor = "#000";
buts[0].style.backgroundColor = "#0acf00";
pat.onclick = function(e){
var event = e || window.e;
var newSquare = new Square();
var ss = newSquare.createSquare(event);
pat.appendChild(ss);
setTimeout(function(){
ss.style.width = 10+"px";
ss.style.height = 10+"px";
ss.style.transform = "rotateY(360deg)";
},0);
}
}
</script>
相關推薦
繼承--貌似小米筆試題
前些天答小米筆試題,本人由於身體原因,只能在答了一半題之後,棄題而不顧,奔向廁所,現在隱隱回憶起當時的一道題,覺得挺有意思,就拿出來寫寫。 題目要求:實現點選相應按鈕畫圓和方塊,都旋轉,變小。圓和方塊繼承一個主類Draw,每個元素以滑鼠點選的中心為準。 我記不清具體實現什麼
小米筆試題中遇到的關於學生成績查詢的幾個SQL語句
com 語句 關於 -1 sql 技術 筆試 試題 src 數據庫有三個字段,名字、學科、成績,如圖 1、 找出每科成績最高的學生的名字與分數 2、找出總分最高的學生名字與總分 3、找出三科成績均大於80分的學生 小米筆試題中遇到的關於學生成績查詢的幾個SQL語句
小米筆試題:樹的高度
題目連結:樹的高度 用並查集的方法做的。 這個題不是表述有問題,就是測試資料有問題。題目說了是合法的二叉樹,但是測試資料是有多叉樹的。 要把多餘的樹枝砍掉,就是說如果這個結點出現了第三個孩子,我們就不要去考慮第三個孩子。 並查集的思路就是構造出這麼一棵樹,然後如果出現第三個孩子及以上,把
求出對應N的所有合法匹配括號 (DFS)---小米筆試題
給定N對括號,輸出其所有的合法的組合狀態,例如,N=3,所有的合法狀態為:"((()))”, “(()())”, “(())()”, “()(())”, “()()()”; 解析: 還是深搜DFS的
小米2018年秋季招聘筆試題之求“異數”
package Exam1; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; public class Main
C++總結6——繼承與多型的筆試題【轉】
1————————————————— #include <iostream> using namespace std; class Base { public: Base(int data):_ma(data) { co
小米2013年校園招聘筆試題-簡單並查集
題目描述: 假如已知有n個人和m對好友關係(存於數字r)。如果兩個人是直接或間接的好友(好友的好友的好友...),則認為他們屬於同一個朋友圈,請寫程式求出這n個人裡一共有多少個朋友圈。 假如:n = 5 , m = 3 , r = {{1 , 2} , {2 , 3}
小米運維部14年校招筆試題A的個人答案
15年準備實習生面試時答的題,僅供參考一、linux基礎1)linux系統中如何獲取pid為100的程序所監聽的tcp埠,請給出詳細命令?【答】方法一:1netstat -nlg | grep 1950 2[[email protected] pierre]#
C++構造、析構、繼承、多型--一道筆試題都考到了
#include <stdio.h> class A { public: A() { printf("A constrution.\n"); }
2016小米校招筆試題
1 給定一些線段,線段有起點和終點,求這些線段的覆蓋長度,重複的部分只計算一次。 方法一: 首先說排序對於處理很多問題都是非常有效的,例如尋找兄弟單詞等問題中,經過排序處理後,問題就明朗了很多; 線段覆蓋長度也是這樣,將線段排序後,然後掃描一遍就可以得到覆蓋的長度。
Java多執行緒方面的程式設計筆試題(通過繼承Thread類啟動執行緒)
/* * 寫兩個執行緒,一個執行緒列印 1~52,另一個執行緒列印字母A-Z。列印順序為12A34B56C……5152Z。要求用執行緒間的通訊。 * 注:分別給兩個物件構造一個物件o,數字每列印兩
小米校招筆試題(java)
時間限制:C/C++語言 1000MS;其他語言 3000MS 記憶體限制:C/C++語言 65536KB;其他語言 589824KB 題目描述: 給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。
小米實習生筆試題Java程式碼
題目描述 風口之下,豬都能飛。當今中國股市牛市,真可謂“錯過等七年”。 給你一個回顧歷史的機會,已知一支股票連續n天的價格走勢,以長度為n的整數陣列表示,陣列中第i個元素(prices[i])代表該股票第i天的股價。 假設你一開始沒有股票,但有至多兩次買入
C++總結6——繼承與多型的筆試題
1————————————————— #include <iostream> using namespace std; class Base { public: Base(int data):_ma(data) {
Python求解啤酒問題(攜程2016筆試題)
sep 走了 參考資料 很難 bucket static turn and item 問題描述:一位酒商共有5桶葡萄酒和1桶啤酒,6個桶的容量分別為30升、32升、36升、38升、40升和62升,並且只賣整桶酒,不零賣。第一位顧客買走了2整桶葡萄酒,第二位顧客買走的葡萄酒是
新浪PHP開發工程師面試筆試題
新浪筆試面試 php面試筆試 找實習找的心累,於是在學校bbs上找了一個新浪的散招。先做了一份筆試題,題目如下。1、列舉一下你知道的Unix信號,並說明其用途2、給你一個ip地址,寫出其無符號32位的表示法3、給你一些http的東西post請求,數據,cookie,URL,寫一個http頭。4、簡述一
PHP工程師筆試題
extend xtend log new 筆試題 clas col 繼承 null //已經定義以下php類 class People{ static $version = "1.02beta"; private $age; public
筆試題---消除多余的空格
試題 技術分享 har () 去除 space span col mes 筆試題目: 假設輸入一個字符串" lan zhihui is a good boy! ",如今須要去除字符串首位的空格。每一個單詞之間留一個空格,即返回
華宇軟件筆試題
edi 缺點 redirect forward 學生 二叉樹 war 金字塔 答題 一、基礎問答題 1、forward和sendRedirect 2、列舉jvm五個經常使用參數 3、表主鍵的定義策略及優缺點 二、編程基礎題 1、二叉樹遍歷(程序補全) 2、sql(常見的
阿裏筆試題:求兩個子序列的最大連續子序列
代碼 else nat 順序 post string popu substr 連續 原題例如以下: 給定一個query和一個text。均由小寫字母組成。要求在text中找出以相同的順序連續出如今query中的最長連續字母序列的長度。比如。query為 "acbac",t