gpt4 book ai didi

javascript - HTML 表格中的垂直和水平镜像

转载 作者:行者123 更新时间:2023-11-28 08:36:41 25 4
gpt4 key购买 nike

我有一个 html 表格,比如说 50x50。我需要想出一种算法来垂直和水平镜像。我正在使用 javascript/jquery 来替换表中的图像。垂直和水平镜像必须彼此分开,以便可以独立激活/停用它们。我对编程和堆栈溢出很陌生,所以如果我不确定需要提供/描述什么。希望这个问题有意义。

这是我目前的 table 。

<table>
<% 50.times do %>
<tr>
<% 50.times do %>
<td><img src='/assets/floor_tile.png'></td>
<% end %>
</td>
<% end %>
</table>

举个例子。如果我单击左上角的单元格,并且水平镜像处于打开状态,那么右上角的单元格也会发生变化。

我当前的js,不确定这是否有帮助,因为当时它更多的是一个测试。

  // Get mouse status.
var down = false;
$(document).mousedown(function() {
down = true;
}).mouseup(function() {
down = false;
});

// Basic tile change test.
$("img").mouseover(function(){
var tile_to_change = this;
if(down) {
$(tile_to_change).attr('src', '/assets/wall_tile.png');
}
else {
}
});

$("img").mousedown(function(){
$(this).attr('src', '/assets/wall_tile.png');
})

最佳答案

执行您想要的操作的一种方法如下。我假设您在其他地方设置了变量 horizo​​ntalMirrorverticalMirror (例如通过复选框处理程序):

// Get mouse status.
var down = false;
$(document).mousedown(function() {
down = true;
}).mouseup(function() {
down = false;
});

function make_wall_tile(selector, noVertMirror) {
selector.attr('src', '/assets/wall_tile.png');
td = selector.parent();
tr = td.parent();
column = td.index("td");
if(horizontalMirror) {
hmirror_td = tr.children("td").get(-1-column);
hmirror_td.attr('src', '/assets/wall_tile.png');
}
if(verticalMirror && !noVertMirror) {
table = tr.parent();
row = tr.index("tr");
vmirrorTr = table.children("tr").get(-1-row);
td = vmirrorTr.children("td").get(column);
img = td.children("img");
make_wall_tile(img, true);
}
}

// Basic tile change test.
$("img").mouseover(function(){
var tile_to_change = this;
if(down) {
$(tile_to_change).attr('src', '/assets/wall_tile.png');
}
else {
}
});

$("img").mousedown(function(){
$(this).attr('src', '/assets/wall_tile.png');
})

我可能对所需的 .parent()/.children() 数量有点模糊,因为我认为某些浏览器(或者可能是标准)在表中添加 tbody/trow/w/e 元素,但是这个应该给你基本的想法。

关于javascript - HTML 表格中的垂直和水平镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21057517/

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