我正在研究一组 vanilla js 函数,用于在单击适当的箭头按钮时导航 html textarea。
例如,
var text = document.getElementById('text');
function larr(){
text.focus();
var pos = text.selectionStart;
pos--
text.setSelectionRange(pos, pos);
}
Run Code Online (Sandbox Code Playgroud)
<textarea id='text'></textarea>
<button onclick="larr()">←</button>
Run Code Online (Sandbox Code Playgroud)
left 和 right 函数很简单,但我还想包括向上和向下箭头。由于每个换行符可以有不同数量的字符,我认为这不像将位置向前或向后设置一个 max-line-length 那样简单。
我会满足于将您带到下一个或上一个换行符的箭头。我正在考虑在插入符号位置拆分 textarea 值并在该方向循环遍历字符,直到到达 \n 为止,但我无法绕过它。
有没有人有什么建议?谢谢!
*重要说明-这将适用于隐藏本机键盘的移动设备,因此没有来自操作系统的帮助!(除非可能是 jquery trigger() 或 execCommand?)
我正在开发一个 HTML 格式的纸牌游戏,向所有玩家显示实时视角和纸牌移动。
所有播放器都通过 socket.io 连接。
背景:
如果有 4 个玩家,桌子是方形的,桌子 HTML 正文根据玩家在屏幕上的位置旋转。
结构是这样的:
<gameTable style=”position: relative;”>
<card style=”position: absolute; top: 1%, left: 1%;”></card>
</gameTable >
Run Code Online (Sandbox Code Playgroud)
现在为了移动卡片,玩家用鼠标选择一张卡片,然后它
1:保存那个位置
2:基于移动,将卡片的移动(以px为单位)转换成相对相等的百分比,然后将桌面上的卡片移动那么多。
这是为了无论某人使用大屏幕还是小屏幕,通过使用 % 作为顶部,左侧坐标,所有人的卡片移动都是相同的。
-- 方桌:
当玩家处于0度桌位时,鼠标和卡片的移动是直接联动的。
卡片顶部: --mouse y
,卡片左侧:--mouse x
当玩家处于 180 度桌子位置时,鼠标移动是相反的:
卡片顶部: ++mouse y
,卡片左侧: ++mouse x
对于 90 度:
卡片顶部: ++mouse x
,卡片左侧: --mouse y
270 度旋转台的坐标变化很小的类似平移。
这与此翻译一样完美,它完美地将鼠标翻译到代码中的所有方向。
问题:
对于 6 人游戏,我想使用六角桌。现在在这张表中,玩家表旋转到:
0、60、120、180、240 和 300 度。
0和180度都很好,但我无法找出一个正确的公式来根据旋转将鼠标坐标转换为卡片坐标。
--当前解决方案(不好) …
我有一个 5 个数字的数组,我想匹配只要数组中有3个相同的数字和2 个相同的不同数字,位置并不重要。数字序列可以是 1 - 5 之间 5 个数字的任何随机字符串。匹配示例如下:
33322
24422
52225
44111
54545
*基本上,任何 2 和 3 个相同数字的分组都需要匹配。
到目前为止我想出的最好的:
^([0-9])\1{2}|([0-9])\1{1}$
我不太擅长正则表达式,任何帮助将不胜感激。