添加点击事件后 不会做了!请老师讲解下,详细点
来源:6-7 完成案例文字图片显示和变换
山有夫苏
2019-08-26 15:21:11
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title></title>
<style type="text/css">
*{margin: 0;padding: 0;}
#main{
margin: 50px auto;
width: 1100px;
height: 460px;
background: #eee8da;
position: relative;
}
#form{
width: 340px;
height: 320px;
position: absolute;
top: 20px;
background: rgba(0,0,0,.3);
padding: 50px 30px;
text-align: center;
}
input{
width: 250px;
height: 30px;
margin: 12px 0;
border: none;
border-radius: 15px;
padding-left: 10px;
outline: none;
}
button{
margin-top: 35px;
width: 130px;
height: 30px;
border-radius: 15px;
background: #000;
color: #fff;
border: none;
outline: none;
text-align: center;
line-height: 30px;
}
#canvas{
position: absolute;
top: 20px;
right: 30px;
}
</style>
</head>
<body>
<div id="main">
<div id="form">
<input type="text" id="inp1" value="" placeholder="二维码"/>
<input type="text" id="inp2" value="" placeholder="姓名"/>
<input type="text" id="inp3" value="" placeholder="地址"/>
<input type="text" id="inp4" value="" placeholder="邮箱"/><br />
<button type="button" id="btn">生成名片</button>
</div>
<canvas id="canvas" width="650" height="420"></canvas>
</div>
<script type="text/javascript">
// DOM
var inputs = document.getElementsByTagName('input');
var btn = document.getElementById('btn');
// 获取画布上下文
var ctx = document.getElementById('canvas').getContext('2d');
// 创建矩形
ctx.fillStyle = '#fff';
ctx.fillRect(0,0,650,420);
// 创建背景图
var imgBg = new Image();
imgBg.src = 'image/bg.png';
imgBg.onload=function() {
ctx.drawImage(imgBg,0,0);
}
// 创建二维码
var imgEwm = new Image();
imgEwm.src = 'image/ewm.png';
imgEwm.onload=function() {
ctx.drawImage(imgEwm, 125,160, 85,85);
}
// 创建姓名
ctx.fillStyle = '#000';
ctx.font = '800 35px Microsoft JhengHei';
var name = '刘德华';
ctx.fillText(name,285,180)
// 创建地址
ctx.font = '20px Microsoft JhengHei';
var address = '上海市浦东区西京路00号千图总部';
ctx.fillText(address,285,240)
// 创建电话
var telephone = '+(000) 1234 5678';
ctx.fillText(telephone,285,270)
// 创建邮箱
var mailbox = 'qiantuwange@qiantuwang.com';
ctx.fillText(mailbox,285,300)
// 旋转文字
ctx.save();
ctx.beginPath();
ctx.rotate(-Math.PI/18);
ctx.fillStyle = 'red';
ctx.font = '15px Microsoft JhengHei';
var txt = 'canvas';
ctx.fillText(txt,500,500);
ctx.restore();
// 添加点击事件
btn.addEventListener('click',function(){
if(!inputs[0].value){
imgEwm.src = 'image/ewm.png';
}else{
imgEwm.src = inputs[0].value;
}
name = inputs[1].value;
console.log(inputs[1].value)
})
</script>
</body>
</html>1回答
同学,你好。
下载源码里面有提供参考代码,也加了重要部分的注释,可以做为参考。
以后如果遇到了不懂的地方,教你一个办法,进行效果的测试,去掉它之后的效果是什么样的,加上是什么样的,通过对比和测试,能弄明白很多问题,还有一些值你不知道是什么意思,那你可以在控制台输出一下就知道是什么意思了。先通过自己的努力去分析和实现,可以看别的同学的问题,也可以自己百度,如果实在弄不明白,你再来提问,这样你慢慢就能培养出自己解决问题的能力,有了这种能力,才能胜任以后的工作,没有解决问题的能力,会寸步难行,因为在实际的工作中,不论是基础的工程师,还是项目经理,发现问题,寻找解决方案,解决问题,是工作的常态。不过也不用担心,这种能力是可以慢慢培养的。加油!
如果帮助到了你,欢迎采纳!
祝学习愉快!
相似问题