【发布时间】:2015-01-24 23:46:23
【问题描述】:
我一直在研究 JavaScript 中的一个函数,它可以在 mouseenter 上排列单词中的字母。我无法通过第一步,将字母转换为数字以增加它们的值。首先我尝试了:
function permuter1(){
var polygon=document.getElementById("permutable").innerHTML;
polygon = polygon.toLowerCase();
polygon.split("");
var converter = {a:0,b:1, c:2,d:3,e:4,f:5,g:6,h:7,i:8,j:9,k:10,l:11,m:12,n:13,o:14,p:15,q:16,r:17,s:18,t:19,u:20,v:21,w:22,x:23,y:24,z:25};
for (index=0; index<polygon.length;index++) {
polygon[index] = converter[polygon[index]];
}
仅用于测试:
document.getElementById("permutable").innerHTML = polygon[0];
在 html 中我有:
<ul>
<li id = "permutable" onmouseenter="permuter1()" onmouseleave="unpermute1()">Browse</li>
</ul>
我希望鼠标悬停会给我 1,但我得到了 b。所以我尝试了:
for (index=0; index<polygon.length;index++) {
polygon[index]=polygon[index].charCodeAt();
}
同样的结果。我什至尝试过:
var str = "";
for (index=0; index<polygon.length;index++) {
str=str +polygon[index];
}
for (index=0; index<polygon.length;index++) {
polygon[index] = str.charCodeAt(index);
}
同样的结果!我测试了直到 for 循环的所有内容,并且知道它可以正常工作。我在 for 循环中做错了什么?
【问题讨论】:
-
你能创建一个 jsfiddle 来暴露问题吗?我们需要所有的功能(unpermute1 也是)对答案有信心
-
看起来有更简单的方法可以做到这一点 -> jsfiddle.net/adeneo/684kwLfb/1
标签: javascript function innerhtml onmouseover