回答完畢,采納即可。
成都創新互聯公司專注于瓦房店網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供瓦房店營銷型網站建設,瓦房店網站制作、瓦房店網頁設計、瓦房店網站官網定制、重慶小程序開發服務,打造瓦房店網絡公司原創品牌,更為您提供瓦房店網站排名全網營銷落地服務。
!DOCTYPE?HTML
html
head
titleyugi/title
meta?charset=UTF-8?/
style?type="text/css"
/style
script?type="text/javascript"
var?Eye?=?function?(a,?b)
{
this.a?=?a;
this.b?=?b;
}
Eye.prototype?=
{
constructor?:?Eye,
g?:?null,
init?:?function?()
{
var?canvas?=?document.querySelector?("canvas");
this.g?=?canvas.getContext?("2d");
return?this;
},
drawEyelid?:?function?()
{
var?g?=?this.g,?a?=?this.a,?b?=?this.b,?R?=?5;
g.save?();
g.beginPath?();
g.fillStyle?=?"black";
g.arc?(a.x,?a.y,?R,?0,?2?*?Math.PI);
g.fill?();
g.restore?();
g.beginPath?();
g.fillStyle?=?"red";
g.arc?(b.x,?b.y,?R,?0,?2?*?Math.PI);
g.fill?();
g.restore?();
g.beginPath?();
g.strokeStyle?=?"blue";
g.moveTo?(a.x,?a.y);
g.lineTo?(a.x,?a.y);
var?r?=?300;
g.arcTo?(a.x?+?r,?a.y,?b.x,?b.y,?r);
g.lineTo?(b.x,?b.y);
g.stroke?();
g.restore?();
g.beginPath?();
g.strokeStyle?=?"pink";
g.moveTo?(b.x,?b.y);
g.lineTo?(b.x,?b.y);
g.arcTo?(b.x?-?r,?b.y,?a.x,?a.y,?r);
g.lineTo?(a.x,?a.y);
g.stroke?();
g.restore?();
g.beginPath?();
g.fillStyle?=?"black";
g.moveTo?(b.x,?b.y);
g.lineTo?(b.x,?b.y?-?2?*?R);
g.lineTo?(b.x?-?2?*?R,?b.y?-?4);
g.fill?();
g.restore?();
g.beginPath?();
g.moveTo?(a.x,?a.y);
g.lineTo?(a.x,?a.y?+?2?*?R);
g.lineTo?(a.x?+?2?*?R,?a.y?+?4);
g.fill?();
g.restore?();
}
};
onload?=?function?()
{
var?eye?=?new?Eye?(
{
x?:?100,
y?:?50
},
{
x?:?550,
y?:?310
});
eye.init?().drawEyelid?();
}
/script
/head
body
body
canvas?width="800"?height="600"
你的瀏覽器不支持canvas標簽
/canvas
/body
/html
!DOCTYPE?html
html
head
meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"
script?class="jquery?library"?src="/js/sandbox/jquery/jquery-1.8.0.min.js"?type="text/javascript"/script
titleRunJS?演示代碼/title
script
$(function(){?
var?t=$("table").hide();
$("a").hover(function(){
t.toggle();
});
});
/script
/head
body
a?href="###"hover/a
table
div?class="son"?id="iii"
tr?id="child"?
th?id="td"span?id="level_2"*/span版本:/th
/tr
tr
td
divspanx/span移動版/div
/td
td
divspanx/span聯通版/div
/td
td
divspanx/span電信版/div
/td
td
divspanx/span雙網通/div
/td
td
divspanx/span全網通版/div
/td
td?style="border-style:none"
div?id="add"add/div
/td
/tr?
/div
div?class="son"
tr
th?id="banban"span?id="level_2"*/span容量:/th
/tr
tr
td
divspanx/span16/div
/td
td
divspanx/span32/div
/td
td
divspanx/span電信版/div
/td
td
divspanx/span雙網通/div
/td
td
divspanx/span全網通版/div
/td
td?style="border-style:none"
div?id="add"add/div
/td
/tr
/div
/table?
/body
/html
HTML5記錄
一、VS code引入插件后運行,終端執行
二、引入外部js文件:
1、js的exports.a = a;方式暫時不知道怎么做
2、直接引入,script之后可以直接使用。參照html-vue項目
3、數據類型
String、Number、Boolean、Null、undefined、symbol、Object、Array、Function
三、 JS顯示數據方式:
window.alert()
document.write()
innerHTML=‘’
console.log()
四、 let、const、var
五、全局變量、局部變量注意點
如果變量在函數內沒有聲明(沒有使用 var 關鍵字),該變量為全局變量。
六、事件:
onchange、onclick、onmouseover、onmouseout、onkeydown、onload…
html dom onclick之類的直接使用,vue是@click,小程序是bindTap
七、 this關鍵字:
1、在對象方法中, this 指向調用它所在方法的對象。
2、單獨使用 this,它指向全局(Global)對象。
3、函數使用中,this 指向函數的所屬者。
4、嚴格模式下函數是沒有綁定到 this 上,這時候 this 是 undefined。
5、在 HTML 事件句柄中,this 指向了接收事件的 HTML 元素。
6、apply 和 call 允許切換函數執行的上下文環境(context),即 this 綁定的對象,可以將 this 引用到任何對象。
八、 箭頭函數:
1、有的箭頭函數都沒有自己的 this 。 不適合定義一個 對象的方法。
2、當我們使用箭頭函數的時候,箭頭函數會默認幫我們綁定外層 this 的值,所以在箭頭函數中 this 的值和外層 的 this 是一樣的。
3、箭頭函數是不能提升的,所以需要在使用之前定義。
4、使用 const 比使用 var 更安全,因為函數表達式始終是一個常量。
九、閉包:
閉包是一種保護私有變量的機制,在函數執行時形成私有的作用域,保護里面的私有變量不受外界干擾。
直觀的說就是形成一個不銷毀的棧環境。
閉包會持有父方法的局部變量和參數并且不會隨父方法銷毀而銷毀
不必要的閉包只會增加內存消耗
十、 事件
body事件:onload、onunload
元素事件:onclick、onmouseover、onmouseout、onmousedown、onmouseup、onfocus
事件捕獲
document.getElementById(‘demo’).addEventListener(‘事件名’, 方法名, 是否捕獲傳遞)
方法名:如果是相應事件,則只可寫方法名methodName,寫成methodName()則會自動執行
如果方法需要傳遞參數,則只可以使用匿名函數, function( { methodName(p1, p2) } );
是否捕獲傳遞:默認false,即冒泡傳遞
IE8和更早版本: x.attachEvent("onclick", myFunction) ;
十一、Window加載,頁面聲明周期入口
window.onload = function () { }
十二、數據存儲
localStorage不會被自動刪除,
sessionStorage 網頁關閉會自動刪除
cookie
sql
manifest文件
區別:
localStorage只要在相同的協議、相同的主機名、相同的端口下,就能讀取/修改到同一份localStorage數據。
sessionStorage比localStorage更嚴苛一點,除了協議、主機名、端口外,還要求在同一窗口(也就是瀏覽器的標簽頁)下。
十三、 CSS聲明權重(選擇器)
內聯ID偽類屬性類元素/類型通用
!important會改變優先級
十四、 元素隱藏/顯示
1、dispatch:none 隱藏 不占用空間
2、visibility:hidden 隱藏,仍然占用空間
3、v-if 存在/不存在
4、v-show 只生成一次,占用內存
十五、 Position
static 默認方式,沒有定位
fixed 相對于瀏覽器窗口固定定位,不占用文檔流,其他元素會相對位移
absolute 相對于最近的已定位父元素定位,不占用文檔流,其他元素會相對位移
relative 相對于自身的定位
sticky 粘滯定位,基于用戶的滾動位置定位
十六、 float
1、只能左右浮動
2、左右浮動,直到外邊緣碰到另一個浮動元素
3、浮動之后的元素將圍繞它
4、浮動之前的元素不受影響
5、如果是圖像浮動,下面的文本流將環繞它
6、clear聲明的元素, 屬性指定元素兩側不能出現浮動元素。
推薦使用flex布局
十七、 文字顯示…
單行
任意行
十八、 box-shadow順序
十九、 flex布局
容器屬性:
屬性 / 說明可選值
f方向: lex-direction
換行:flex-wrap
簡寫:flex-flow
主軸上的對齊方式:justify-content
交叉軸上如何對齊:align-items
多根軸線的對齊方式:align-content。
如果項目只有一根軸線,該屬性不起作用
項目item屬性:
order:排列順序,越小越靠前
flex-grow:放大比例,2比1占用的空間大一倍
flex-shrink:縮小比例,默認1,當空間不足時等比例縮小。如果一個項目的屬性為0,其他項目都為1,則空間 不足時,前者不縮小
flex-basis:定義了在分配多余空間之前,項目占據的主軸空間
flex :簡寫
align-self:允許單個項目與其他項目不一樣的對齊方式,可覆蓋align-items屬性。默認值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch
下面是源碼
主文件
test.htm
!doctype?html
html
head
mata?charset="utf-8"
title/title
link?rel="stylesheet"?href="style.css"
/head
body
canvas?id="canvas"?width="400"?height="400"
p?:(??抱歉~??br?您的瀏覽器貌似不支持HTML5的標簽"canvas"的說,試試更換成
Chrome,FireFox,IE9.../p
/canvas
script?src="arrow.js"/script
script?src="utils.js"/script
script
window.onload=function(){
var?canvas=document.getElementById("canvas"),
context=canvas.getContext('2d'),
mouse=utils.captureMouse(canvas),
arrow=new?Arrow();
arrow.x=canvas.width/2;
arrow.y=canvas.height/2;
if?(!window.requestAnimationFrame)?{
window.requestAnimationFrame?=?(window.webkitRequestAnimationFrame?||
window.mozRequestAnimationFrame?||
window.oRequestAnimationFrame?||
window.msRequestAnimationFrame?||
function?(callback)?{
return?window.setTimeout(callback,?1000/60);
});
}
(function?drawFrame(){
window.requestAnimationFrame(drawFrame,canvas);
context.clearRect(0,0,canvas.width,canvas.height);
var?dx=mouse.x-arrow.x;
var?dy=mouse.y-arrow.y;
arrow.rotation=Math.atan2(dy,dx);
arrow.draw(context);
}());
};
/script
/body
/html
var canvas=document.getElementById(“canvas”)
//即將變量 canvas 作為對 html5 canvas標簽id為’canvas’ 的引用
context=canvas.getContext(‘2d’)
//獲取canvas該對象后,可在其上進行圖形繪制
window.requestAnimationFrame
為了便于JavaScript進行圖形的重繪,各大瀏覽器廠商都提供了各自的API給開發者進行調用,由于各大廠商的對HTML5的支持不同,所以API沒有統一,但使用廠商各自的API則在該API在對應瀏覽器上為最有效率的方式運行。代碼中對
用戶瀏覽器做判斷,實例化能被成功引用的API接口。如果用戶的瀏覽器沒有提供該API,則使用JS的setTimeout。其特性類似于AS的 ENTER_FRAME 事件。
需要用到的2個JS文件
utils.js 可根據傳入的對象判斷,鼠標所在對象的相對于左上角的坐標值
unction?utils(){};
utils.captureMouse=function(element){
var?mouse={x:0,y:0};
element.addEventListener('mousemove',function(event){
var?x,y;
if(event.pageX?||?event.pageY){
x=event.pageX;
y=event.pageY;
}else{
x=event.clientX+document.body.scrollLeft+
document.documentElement.scrollLeft;
y=event.clientY+document.body.scrollTop+
document.documentElement.scrollTop;
}
x?-=?element.offsetLeft;
y?-=?element.offsetTop;
mouse.x=x;
mouse.y=y;
},false);
return?mouse;
};
計算mouse相對于容器的x,y坐標偏移,本質是判斷鼠標在瀏覽器中的鼠標偏移,之后對瀏覽器中容器寬度和高度進行再次偏移。
arrow.js
繪制一個箭頭的js
function?Arrow(){??this.x=0;??this.y=0;??this.color="#ffff00";??this.rotation=0;}Arrow.prototype.draw=function(context){??context.save();??context.translate(this.x,this.y);??context.rotate(this.rotation);??context.lineWidth=2;??context.fillStyle=this.color;??context.beginPath();??context.moveTo(-50,-25);??context.lineTo(0,-25);??context.lineTo(0,-50);??context.lineTo(50,0);??context.lineTo(0,50);??context.lineTo(0,25);??context.lineTo(-50,25);??context.lineTo(-50,-25);??context.closePath();??context.stroke();??context.restore();?};
熟悉AS的Graphics 的coder一定很快能熟悉使用JS的繪圖API
style.css
用到的樣式表
body{
background-color:#bbb;
}
#canvas{
background-color:#fff;
}
區分canvas 內外的顏色。
在res/menu/main.xml中可以找到對應的id,非自定義View的icon系統定義的id 是android.R.id.home,標題的id是android.R.id.title,試一下在這添加代碼。
在chrome下:
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
-webkit-appearance: none !important;
margin: 0;
}
Firefox下:
input[type="number"]{-moz-appearance:textfield;}
第二種方案:
將type="number"改為type="tel",同樣是數字鍵盤,但是沒有箭頭。
原文鏈接:
網站欄目:html5箭頭,html 箭頭
瀏覽地址:http://vcdvsql.cn/article34/dsiigse.html
成都網站建設公司_創新互聯,為您提供微信公眾號、網站策劃、面包屑導航、建站公司、小程序開發、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯