欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript簡易畫板開發(fā)

 更新時間:2020年04月12日 11:13:09   作者:測試貓  
這篇文章主要為大家詳細介紹了javascript簡易畫板開發(fā)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了制作javascript簡易畫板的方法,供大家參考,具體內(nèi)容如下

html:

<body id="bodys">
<span id="eraser">
清除所有
</span>
<span id="colorbtn">
筆畫顏色
</span>
<input type="range" name="ram" id="ram" min="1" max="20" step="1" value="10"/>
<label id="ramnum">字體大小:10px</label>
<ul id="colorpanel">
<li>黑色</li>
<li>紅色</li>
<li>綠色</li>
<li>藍色</li>
</ul>
</body>

CSS:

*{
margin: 0;
padding: 0;
 }
.box_black{
background-color: black;
position: absolute;
}
.box_red{
background-color: red;
position: absolute;
}
.box_green{
background-color: green;
position: absolute;
}
.box_blue{
background-color: blue;
position: absolute;
}
#eraser{
width: 80px;
height: 50px;
background-color: brown;
display: inline-block;
text-align: center;
line-height: 50px;
cursor: pointer;
}
#colorbtn{
width: 80px;
height: 50px;
background-color: tomato;
display: inline-block;
text-align: center;
line-height: 50px;
cursor: pointer;
}
#colorpanel{
width: 80px;
height: 200px;
list-style: none;
margin-left: 88px;
display: none;
}
#colorpanel>li{
width: 80px;
height: 50px;
text-align: center;
line-height: 50px;
background-color: aquamarine;
display: inline-block;
cursor: pointer;
}
#colorpanel>li:hover{
background-color: orange;
}

javascript:

window.onload=function(){

  //把類名存成一個數(shù)組
 var classname=["box_black","box_red","box_green","box_blue"];
 //默認類名為box_black
 var clsname=classname[0];
 var oBody=document.getElementById("bodys");
 var oDiv=oBody.getElementsByTagName("div");
 var eraser=document.getElementById("eraser");
 var colorbtn=document.getElementById("colorbtn");
 var colorpanel=document.getElementById("colorpanel");
 var ram=document.getElementById("ram");
 var ramnum=document.getElementById("ramnum");
  colorbtn.onmouseover=function(){
  colorpanel.style.display="block";
  }
  colorbtn.onmouseout=function(){
  colorpanel.style.display="none";
  }
  colorpanel.onmouseover=function(){
  this.style.display="block";
  }
  colorpanel.onmouseout=function(){
  this.style.display="none";
  }
  for(var i=0;i<colorpanel.children.length;i++){
  colorpanel.children[i].index=i;
  colorpanel.children[i].onclick=function(){
  //鼠標(biāo)點擊li切換類名來改變樣式
  clsname=classname[this.index];
  colorpanel.style.display="none";
  }
  }
  //定義默認字體大小為10px
  var WIDTH="10px";
  var HEIGHT="10px";
  //通過滑動range來改變字體大小
  ram.onmousemove=function(){
  WIDTH=HEIGHT=ram.value+"px";
  ramnum.innerHTML="字體大小:"+WIDTH;
  }
  //鼠標(biāo)點擊屏幕,通過滑動鼠標(biāo)不停創(chuàng)建div屬性節(jié)點,并且給它設(shè)置樣式
document.onmousedown=function(){
 document.onmousemove=function(event){
 var oevent=event||window.event;
 var scrolltop=document.documentElement.scrollTop||document.body.scrollTop;
 var scrollleft=document.documentElement.scrollLeft||document.body.scrollLeft;
 var box=document.createElement("div");
  box.className=clsname;
  box.style.width=WIDTH;
  box.style.height=HEIGHT;
  oBody.appendChild(box);
  box.style.left=scrollleft+oevent.clientX+"px";
  box.style.top=scrolltop+oevent.clientY+"px";
}
}
//當(dāng)鼠標(biāo)按鍵松開,注銷鼠標(biāo)滑動事件
document.onmouseup=function(){
document.onmousemove=null;
}
//當(dāng)橡皮差按鈕被點擊,遍歷所有div并且把它們一一從父節(jié)點里面移除
eraser.onclick=function(){
var oDiv=oBody.getElementsByTagName("div");
for(var i=0;i<oDiv.length;i++){
oBody.removeChild(oDiv[i]);
}
}
//以下為取消按鈕的冒泡事件,因為我們點擊按鈕是不能繪制div的
eraser.onmousedown=function(event){
var ievent=event||window.event;
ievent.cancelBubble=true;
}
colorbtn.onmousedown=function(event){
var ievent=event||window.event;
ievent.cancelBubble=true;
}
colorpanel.onmousedown=function(event){
var ievent=event||window.event;
ievent.cancelBubble=true;
}
ram.onmousedown=function(event){
var ievent=event||window.event;
ievent.cancelBubble=true;
}
}

}

這是基于javascript的事件基礎(chǔ)寫的,比較簡易,其實還可以進一步進行優(yōu)化。下面來看效果圖。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript數(shù)組去重的多種方法(四種)

    JavaScript數(shù)組去重的多種方法(四種)

    數(shù)組去重,一般需求是給你一個數(shù)組,調(diào)用去重方法,返回數(shù)值副本,副本中沒有重復(fù)元素。下面腳本之家小編給大家?guī)砹薺s數(shù)組去重的多種方法,非常不錯,需要的朋友參考下
    2017-09-09
  • JavaScript延時效果比較不錯的

    JavaScript延時效果比較不錯的

    JavaScript延時效果比較不錯的...
    2007-08-08
  • 你必須知道的Javascript知識點之"字面量和對應(yīng)類型"說明介紹

    你必須知道的Javascript知識點之"字面量和對應(yīng)類型"說明介紹

    本篇文章小編為大家介紹,你必須知道的Javascript知識點之"字面量和對應(yīng)類型"。需要的朋友參考下
    2013-04-04
  • 淺談JavaScript對象與繼承

    淺談JavaScript對象與繼承

    下面小編就為大家?guī)硪黄獪\談JavaScript對象與繼承。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • JavaScript中的this實例分析

    JavaScript中的this實例分析

    做web開發(fā)幾年,也認為自己的js寫了不少,可真正去解釋這個東西的時候,才發(fā)現(xiàn)不是這么簡單,花了一些時間,寫了幾個小demo,讓我們來一探究竟。
    2011-04-04
  • ES2020 已定稿,真實場景案例分析

    ES2020 已定稿,真實場景案例分析

    許多新的特性被提議包括在 ES2020版本中。好消息是這些已經(jīng)已經(jīng)敲定。 現(xiàn)在,我們獲得了最終定稿的功能清單,它們將在被批準(zhǔn)發(fā)布之后出現(xiàn)在備受期待的 ES2020 中,具體內(nèi)容詳情,大家可以閱讀下本文
    2020-05-05
  • 詳解如何提升JSON.stringify()的性能

    詳解如何提升JSON.stringify()的性能

    這篇文章主要介紹了詳解如何提升JSON.stringify()的性能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • javascript實現(xiàn)Email郵件顯示與刪除功能

    javascript實現(xiàn)Email郵件顯示與刪除功能

    這篇文章主要介紹了javascript實現(xiàn)Email郵件顯示與刪除功能,需要的朋友可以參考下
    2015-11-11
  • 基于JavaScript的操作系統(tǒng)你聽說過嗎?

    基于JavaScript的操作系統(tǒng)你聽說過嗎?

    基于JavaScript的操作系統(tǒng),你聽說過嗎?小編也是第一次聽說,接觸,和大家一起了解一下
    2016-01-01
  • bootstrap table操作技巧分享

    bootstrap table操作技巧分享

    這篇文章主要為大家分享了bootstrap table操作技巧,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評論