当前位置: 首页 > wzjs >正文

怎样在wordpress其他页面增加文章佛山网站建设十年乐云seo

怎样在wordpress其他页面增加文章,佛山网站建设十年乐云seo,网络架构书籍,专业做网带文章目录 前言示例-橡皮筋式选取框示例代码 前言 尽管我们可以说 Canvas 是 HTML5 之中最棒的功能,不过在实现网络应用程序时,很少会单独使用它。在绝大多数情况下,你都会将一个或更多的 canvas 元素与其他 HTML 控件结合起来使用&#xff0…

文章目录

  • 前言
  • 示例-橡皮筋式选取框
  • 示例代码


前言

尽管我们可以说 Canvas 是 HTML5 之中最棒的功能,不过在实现网络应用程序时,很少会单独使用它。在绝大多数情况下,你都会将一个或更多的 canvas 元素与其他 HTML 控件结合起来使用,以便让用户可以通过输入数值或其他方式来控制应用程序。

要将其他 HTML 控件与 canvas 结合起来使用,首先想到的办法可能是将控件嵌入到 canvas 元素之中。不过这么多不行,因为任何放入 canvas 元素主体部分的东西,只有在浏览器不支持 canvas 元素时,才会被显示出来。

浏览器要么显示 canvas 元素,要么显示放在元素之中的 HTML 控件,它不会将两者同时显示出来。所以,必须将控件放在 canvas 元素之外。

为了让 HTML 控件看上去好像是出现在 canvas 范围内,可以使用 CSS 将这些控件放置在 canvas 之上。


示例-橡皮筋式选取框

示例采用了一种名为“橡皮筋式”(rubberbanding)选取框的技术来让用户在 canvas 之中选择某个区域。起初,该 canvas 会显示一副图像,然后当选定图像的某一部分时,应用程序会将你所选的这部分区域放大。

在这里插入图片描述
在这里插入图片描述


示例代码

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8" /><title>橡皮筋选框放大器</title><style>body {background: rgba(100, 145, 250, 0.3);}#canvas {margin-left: 20px;margin-right: 0;margin-bottom: 20px;border: thin solid #aaaaaa;/*十字瞄准线*/cursor: crosshair;padding: 0;}#controls {margin: 20px 0px 20px 20px;}#rubberbandDiv {/*绝对定位,方便位置选取*/position: absolute;border: 3px solid yellow;cursor: crosshair;display: none;}</style></head><body><!--控制重置画面的按钮--><div id="controls"><input type="button" id="resetButton" value="Reset" /></div><!--橡皮筋选取狂div--><div id="rubberbandDiv"></div><canvas id="canvas" width="800" height="520">Canvas not supported</canvas><p>拖拽鼠标拉取橡皮筋,选中区域并放大</p></body><script>var canvas = document.getElementById('canvas'),context = canvas.getContext('2d'),rubberbandDiv = document.getElementById('rubberbandDiv'),resetButton = document.getElementById('resetButton'),image = new Image(),//鼠标按下时刻的对象mousedown = {},//橡皮筋矩形对象rubberbandRectangle = {},dragging = false//Functions……/*** 将#rubberbandDiv的左上角移动到鼠标按下的位置* @param x* @param y*/function rubberbandStart(x, y) {mousedown.x = xmousedown.y = yrubberbandRectangle.left = mousedown.xrubberbandRectangle.top = mousedown.ymoveRubberbandDiv()showRubberbandDiv()dragging = true}/*** 对橡皮筋选取框进行移动和缩放* @param x* @param y*/function rubberbandStretch(x, y) {//「左上」「右下」「左下」「右上」的各种两两组合的拉伸方式rubberbandRectangle.left = x < mousedown.x ? x : mousedown.xrubberbandRectangle.top = y < mousedown.y ? y : mousedown.yrubberbandRectangle.width = Math.abs(x - mousedown.x)rubberbandRectangle.height = Math.abs(y - mousedown.y)moveRubberbandDiv()resizeRubberbandDiv()}/*** 将选中的区域放大并绘制,并将橡皮筋div隐藏*/function rubberbandEnd() {//返回涵盖元素的大小以及窗口位置的对象var bbox = canvas.getBoundingClientRect()try {//选区放大context.drawImage(canvas,rubberbandRectangle.left - bbox.left,rubberbandRectangle.top - bbox.top,rubberbandRectangle.width,rubberbandRectangle.height,0,0,canvas.width,canvas.height)} catch (e) {// suppress error message when mouse is released// outside the canvasalert('鼠标释放错误警报!')}resetRubberbandRectangle()rubberbandDiv.style.width = 0rubberbandDiv.style.height = 0hideRubberbandDiv()dragging = false}/*** 让橡皮筋选狂的属性和橡皮筋矩形对象的位置保持一致*/function moveRubberbandDiv() {rubberbandDiv.style.top = rubberbandRectangle.top + 'px'rubberbandDiv.style.left = rubberbandRectangle.left + 'px'}/*** 调整橡皮筋div的宽高*/function resizeRubberbandDiv() {rubberbandDiv.style.width = rubberbandRectangle.width + 'px'rubberbandDiv.style.height = rubberbandRectangle.height + 'px'}/*** 通过display显示橡皮筋*/function showRubberbandDiv() {rubberbandDiv.style.display = 'inline'}/*** 通过display隐藏橡皮筋*/function hideRubberbandDiv() {rubberbandDiv.style.display = 'none'}/*** 重置初始化橡皮筋矩形对象*/function resetRubberbandRectangle() {rubberbandRectangle = { top: 0, left: 0, width: 0, height: 0 }}//Event handlers……canvas.onmousedown = function (ev) {var x = ev.x || ev.clientX,y = ev.y || ev.clientYev.preventDefault()rubberbandStart(x, y)}window.onmousemove = function (ev) {var x = ev.x || ev.clientX,y = ev.y || ev.clientYev.preventDefault()if (dragging) {rubberbandStretch(x, y)}}window.onmouseup = function (ev) {ev.preventDefault()rubberbandEnd()}image.onload = function (ev) {context.drawImage(image, 0, 0, canvas.width, canvas.height)}resetButton.onclick = function (ev) {context.clearRect(0, 0, context.canvas.width, context.canvas.height)context.drawImage(image, 0, 0, canvas.width, canvas.height)}//Initialization……image.src = 'arch.png'</script>
</html>

http://www.dtcms.com/wzjs/227903.html

相关文章:

  • 做赌博网站代理赚钱吗百度发视频步骤
  • title:(网站建设)谷歌浏览器网址
  • 贷款公司网站模板万江专业网站快速排名
  • 公司外贸网站建设直播:韩国vs加纳直播
  • 高端网站制作宁德市旅游景点大全
  • 网站建设诚信服务百度提交网站收录查询
  • 网上交易网网站优化软件哪个好
  • 淄博专业网站建设哪家专业百度搜索推广操作简要流程
  • 网站开发作业代做网络营销的优势有哪些?
  • wordpress如何添加网站地图品牌推广是做什么的
  • 网上骗人彩票网站是怎么做的最常用的搜索引擎有哪些
  • 网站运营工作软文新闻发布网站
  • 如何做拼车网站app石家庄疫情防控最新政策
  • 外贸网站索引页多宁波seo入门教程
  • 软件开发应该学什么专业seo网络推广方法
  • 客户如何找到做网站宣传的律师企业网站推广建议
  • 可以做宣传的网站网站开发建站
  • 网站备案号怎么查微博推广效果怎么样
  • 网站org免费注册反向链接查询
  • 大连建设网站制作淘宝seo具体优化方法
  • 商用营销型网站建设网站alexa排名查询
  • 学院网站建设的作用品牌推广方案
  • 网站后期推广是谁来做百度收录入口提交查询
  • 做网站学生作业免费代理浏览网页
  • 注册有限公司需要什么条件西安百度关键词优化
  • 重庆市建设厅网站首页上海seo搜索优化
  • 锡盟建设工程造价信息网站seo模板建站
  • 做化学科普网站的目的seo代运营
  • 网站建设业务开展方案今日头条新闻军事
  • 化妆品网站开发流程和进度安排2023新闻热点摘抄