gpt4 book ai didi

javascript - 在 IE6 中使用 Javascript 到 'sum selected cells'

转载 作者:搜寻专家 更新时间:2023-10-31 22:35:57 24 4
gpt4 key购买 nike

在 Excel 中,可以突出显示一系列单元格并在“状态栏”中查看“总和”。

这可以在 IE6 中使用 Javascript 和 HTML 表格完成吗?

最佳答案

这里有一些代码可以帮助您开始使用 jQuery。当然,您可以通过多种方式对其进行改进。

(编辑:要检查的一件事是它在 IE 中的运行情况。我认为您需要添加类似 this.onselectstart = function() {return false};mousedown 事件处理程序中禁用 IE 中的文本选择,但我现在碰巧没有 IE。)

<html>
<head>
<style type="text/css">
.sel {background-color: #99ff33; }
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script>
$(function () {
function col(cell) {
return cell.parent().children("td").index(cell);
}

var start = null;

function selectTo(cell) {
if (start == null)
return;
$("td").removeClass("sel");
var stop = $(cell);
var tbl = start.closest("table");
var rs = tbl.children("tbody").children("tr");
var r0 = rs.index(start.parent()), c0 = col(start);
var r1 = rs.index(stop.parent()), c1 = col(stop);
var sum = 0;
for (var i = r0; i <= r1; i++) {
var cells = $(rs.get(i)).children("td");
for (var j = c0; j <= c1; j++) {
var cell = $(cells.get(j));
cell.addClass("sel");
sum += Number(cell.html());
}
}
$("#total").html(""+sum);
}

$("table").mousedown(function () {
return false;
});

$("td").mousedown(function () {
start = $(this);
selectTo(this);
return false;
});

$("td").mouseover(function () {
selectTo(this);
});

$("td").mouseup(function () {
selectTo(this);
start = null;
});

$("body").mouseup(function () {
start = null;
});
});
</script>

<body>
<table>
<tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> </tr>
<tr> <td>2</td> <td>4</td> <td>6</td> <td>8</td> </tr>
<tr> <td>3</td> <td>6</td> <td>9</td> <td>12</td> </tr>
</table>
<p>Total of selected elements: <span id="total"></span></p>
</body>

</html>

Demo here.

关于javascript - 在 IE6 中使用 Javascript 到 'sum selected cells',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1821074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com