有一个5*5的表格,鼠标点击单元格一次,记录下该单元格是的第几行,第几列。以及鼠标点击了几次,鼠标点击的次数不同,相应单元格北京颜色的会改变,然后将行数,列数,点击次数存放到数组中,。如何整理数组,使得数组中记录的是对每一个单元格的最后一次操作。[x,y,c_count].
回复讨论(解决方案)
类似手动选择彩票的基本功能.
我设计这功能
1,每个单元格自定义ID,例如1-1 就是tdid=1-1,3-1就是tdid=3-1.
2,每次点击给td add css.(背景色)
3,把这些操作写在.each里面每次点击.push()到数组.
4,如果要控制点击添加的长度在点击时控制length.
5,如果要设计已经添加的再次点击取消功能,要在点击时添加自定义属性aly=yes,aly=no再添加到数组.
<script src=scripts/jquery-1.8.3.min.js></script><script>$(function() { ar = []; $('td').click(function() { var x = this.cellIndex; var y = this.parentNode.rowIndex; var i = find(ar, x, y); if(i < 0) ar.push([x, y, 1]); else ar[i][2]++; $('#view').html(JSON.stringify(ar)); }); function find(a, x, y) { for(var i=0; i<a.length; i++) if(a[i][0] == x && a[i][1] == y) return i; return -1; }});</script><table border width=300><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr></table><div id=view></div>
<script src=scripts/jquery-1.8.3.min.js></script><script>$(function() { ar = []; $('td').click(function() { var x = this.cellIndex; var y = this.parentNode.rowIndex; var i = find(ar, x, y); if(i < 0) ar.push([x, y, 1]); else ar[i][2]++; $('#view').html(JSON.stringify(ar)); }); function find(a, x, y) { for(var i=0; i<a.length; i++) if(a[i][0] == x && a[i][1] == y) return i; return -1; }});</script><table border width=300><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr></table><div id=view></div>能否注解一下,另外鼠标点击三次是一个循环,取余1,2,0分别代表不同的颜色
<script src=scripts/jquery-1.8.3.min.js></script><script>$(function() { ar = []; $('td').click(function() { var x = this.cellIndex; var y = this.parentNode.rowIndex; var i = find(ar, x, y); if(i < 0) ar.push([x, y, 1]); else ar[i][2]++; $('#view').html(JSON.stringify(ar)); }); function find(a, x, y) { for(var i=0; i<a.length; i++) if(a[i][0] == x && a[i][1] == y) return i; return -1; }});</script><table border width=300><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr></table><div id=view></div>
function find(a, x, y) {
for(var i=0; i
return -1;
}
这个函数用于在数组中查找指定的记录,并返回对应的下标(没找到返回 -1)
var x = this.cellIndex; //取得单元格的列号(这是 dhtml 的,不是 jq 的)
var y = this.parentNode.rowIndex; //取得单元格所在行的行号(这是 dhtml 的,不是 jq 的)
var i = find(ar, x, y); //查找该单元格是否被点击过
if(i else ar[i][2]++; //否则计数加一
$('#view').html(JSON.stringify(ar)); //仅仅是为了观察一下,方便发现问题
你已经知道当前单元格被点击过几次了(ar[i][2])
那么还要做什么,就该自己动动脑筋了
function find(a, x, y) {
for(var i=0; i
return -1;
}
这个函数用于在数组中查找指定的记录,并返回对应的下标(没找到返回 -1)
var x = this.cellIndex; //取得单元格的列号(这是 dhtml 的,不是 jq 的)
var y = this.parentNode.rowIndex; //取得单元格所在行的行号(这是 dhtml 的,不是 jq 的)
var i = find(ar, x, y); //查找该单元格是否被点击过
if(i else ar[i][2]++; //否则计数加一
$('#view').html(JSON.stringify(ar)); //仅仅是为了观察一下,方便发现问题
你已经知道当前单元格被点击过几次了(ar[i][2])
那么还要做什么,就该自己动动脑筋了
function find(a, x, y) {
for(var i=0; i
return -1;
}
这个函数用于在数组中查找指定的记录,并返回对应的下标(没找到返回 -1)
var x = this.cellIndex; //取得单元格的列号(这是 dhtml 的,不是 jq 的)
var y = this.parentNode.rowIndex; //取得单元格所在行的行号(这是 dhtml 的,不是 jq 的)
var i = find(ar, x, y); //查找该单元格是否被点击过
if(i else ar[i][2]++; //否则计数加一
$('#view').html(JSON.stringify(ar)); //仅仅是为了观察一下,方便发现问题
你已经知道当前单元格被点击过几次了(ar[i][2])
那么还要做什么,就该自己动动脑筋了
$(function () {
ar = [];
$('td').click(function () {
var x = this.cellIndex + 1;
var y = this.parentNode.rowIndex + 1;
var i = find(ar, x, y);
//console.log(i);
if (i ar.push([x, y, 1]);
} else {
ar[i][2]++;
console.log(ar[i][2]);
var count = ar[i][2] % 3;
ar[i][2] = count;
switch (ar[i][2]) {
case 1: //点击1,4,7...3n+1下
$(this).css("background", "#228B22"); //绿色,栏位
break;
case 2: //点击2,5,8...3n+2下
$(this).css("background", "#555555"); //深灰色,通道
break;
case 0: //点击3,6,9...3n+0下
$(this).css("background", "#DAA520"); //橙色,舍中空白
break;
}
}
console.log(ar[i][2]);
console.log(ar);
console.log(x);
console.log(y);
console.log(i);
$('#view').html(JSON.stringify(ar));
});
function find(a, x, y) {
for (var i = 0; i if (a[i][0] == x && a[i][1] == y) return i;
return -1;
}
});
----------------------------------
为什么点第一下的时候,控制台报错???然后就没事了

公眾號網頁更新緩存,這玩意兒,說簡單也簡單,說複雜也夠你喝一壺的。你辛辛苦苦更新了公眾號文章,結果用戶打開還是老版本,這滋味,誰受得了?這篇文章,咱就來扒一扒這背後的彎彎繞繞,以及如何優雅地解決這個問題。讀完之後,你就能輕鬆應對各種緩存難題,讓你的用戶始終體驗到最新鮮的內容。先說點基礎的。網頁緩存,說白了就是瀏覽器或者服務器為了提高訪問速度,把一些靜態資源(比如圖片、CSS、JS)或者頁面內容存儲起來。下次訪問時,直接從緩存裡取,不用再重新下載,速度自然快。但這玩意兒,也是個雙刃劍。新版本上線,

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

本文展示了使用CSS為網頁中添加有效的PNG邊框。 它認為,與JavaScript或庫相比,CSS提供了出色的性能,詳細介紹瞭如何調整邊界寬度,樣式和顏色以獲得微妙或突出的效果

本文討論了html&lt; datalist&gt;元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

本文討論了HTML&lt; meter&gt;元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了&lt; meter&gt;從&lt; progress&gt;和前

本文解釋了HTML5&lt; time&gt;語義日期/時間表示的元素。 它強調了DateTime屬性對機器可讀性(ISO 8601格式)的重要性,並在人類可讀文本旁邊,增強Accessibilit

本文討論了HTML&lt; Progress&gt;元素,其目的,樣式和與&lt; meter&gt;元素。主要重點是使用&lt; progress&gt;為了完成任務和LT;儀表&gt;對於stati


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版