javascript – 在Web浏览器中创建可点击网格
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在Web浏览器中创建可点击网格,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1521字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 在Web浏览器中创建可点击网格](/upload/InfoBanner/zyjiaocheng/708/342275451dd84d8187203c90b475811c.jpg)
我想在HTML5画布上绘制一个10 x 10格的网格,方块上显示数字1-100.单击一个正方形应调用一个JavaScript函数,其中方形的数字作为变量传递给函数.
解决方法:
首先,我建议您阅读this answer到另一个涉及HTML5 Canvas的问题.你需要明白没有正方形.为了检测“正方形”上的点击,您必须跟踪从每个画布坐标到其逻辑上包含的正方形的映射,处理整个画布上的单击事件,找出哪个正方形(s)您想要更改,然后使用所需的更改重绘画布.
然后 – 因为您似乎不反对使用更合适的技术 – 我鼓励您在任何一个HTML中执行此操作(其中每个’square’类似于< div>,它使用CSS绝对定位并调整大小和颜色),或SVG(如果你需要方块可以旋转,或者想要引入其他形状,则使用< rect>).
HTML和SVG都是“保留模式”图形模式系统,其中绘制形状“保留”该形状的概念.您可以移动形状,更改颜色,大小等,计算机将自动为您重绘.而且,更重要的是,对于您的用例,您可以(使用HTML和SVG):
function changeColor(evt){
var clickedOn = evt.target;
// for HTML
clickedOn.style.backgroundColor = '#f00';
// for SVG
clickedOn.setAttribute('fill','red');
}
mySquare.addEventListener('click',changeColor,false);
编辑:我在JavaScript和HTML中创建了一个简单的实现:http://jsfiddle.net/6qkdP/2/
这是核心代码,以防JSFiddle失败:
function clickableGrid( rows, cols, callback ){
var i=0;
var grid = document.createElement('table');
grid.className = 'grid';
for (var r=0;r<rows;++r){
var tr = grid.appendChild(document.createElement('tr'));
for (var c=0;c<cols;++c){
var cell = tr.appendChild(document.createElement('td'));
cell.innerHTML = ++i;
cell.addEventListener('click',(function(el,r,c,i){
return function(){ callback(el,r,c,i); }
})(cell,r,c,i),false);
}
}
return grid;
}
内容总结
以上是互联网集市为您收集整理的javascript – 在Web浏览器中创建可点击网格全部内容,希望文章能够帮你解决javascript – 在Web浏览器中创建可点击网格所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。