Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的鼠标盖和功能不起作用_Javascript_Sorting_Onmouseover - Fatal编程技术网

Javascript 我的鼠标盖和功能不起作用

Javascript 我的鼠标盖和功能不起作用,javascript,sorting,onmouseover,Javascript,Sorting,Onmouseover,我有两个问题,我花了几个小时试图解决它们,但都没有成功。 首先,对于我正在创建的游戏,当我将鼠标移到玩家姓名的“div”上时,我必须使日期的“div”出现。 指定这些“div”是在inner.HTML中创建的,然后将它们存储在localStorage中,这可能对我很有用。 其次,我想用“排序”的方法按照得分的顺序对球员进行排序(最好排在第1位)。但是我的方法不起作用。 谢谢你的帮助 function displayDate(){ if(dom.theDate.style.display

我有两个问题,我花了几个小时试图解决它们,但都没有成功。 首先,对于我正在创建的游戏,当我将鼠标移到玩家姓名的“div”上时,我必须使日期的“div”出现。 指定这些“div”是在inner.HTML中创建的,然后将它们存储在localStorage中,这可能对我很有用。 其次,我想用“排序”的方法按照得分的顺序对球员进行排序(最好排在第1位)。但是我的方法不起作用。 谢谢你的帮助

function displayDate(){
    if(dom.theDate.style.display == "none"){
    dom.theDate.style.display = "inline-block";
    }else {
        dom.theDate.style.display = "none";
    }
}
function createHSHTML() {
    toAppend = '';
    arr.forEach(function (player, i) {
        toAppend += ` <div id="player">
                <div id="theDate" style = "display:none">(${dateText})</div>
                <div id="playerScore" style = "display:inline-block">${player.rankedScore} -</div>
                <div onmouseover = "displayDate()" id = "playerName" style = "display:inline-block">${player.rankedName}<br></div>  
                </div>`;
    })
    dom.players.innerHTML = toAppend;
}

arr.sort((a, b) => (b.player.rankedScore) - (a.player.rankedScore));
函数displayDate(){
if(dom.theDate.style.display==“无”){
dom.theDate.style.display=“内联块”;
}否则{
dom.theDate.style.display=“无”;
}
}
函数createHSHTML(){
toAppend='';
arr.forEach(函数(播放器,i){
toAppend+=`
(${dateText})
${player.rankedScore}-
${player.rankedName}
`; }) dom.players.innerHTML=toAppend; } arr.sort((a,b)=>(b.player.rankedScore)-(a.player.rankedScore));
对于您的第一个问题:

要求ID属性在页面中唯一:

此属性为元素指定名称。此名称必须是唯一的 在文件中

如果有多个元素具有相同的ID,则HTML无效

因此,您可以将forEach循环的迭代器“i”与div的id的名称连接起来(类似于“player$(i)”)

然后,当调用函数
displayDate()
时,您将有多个选项来检索右div的名称。您可以将“i”传递给函数,以便知道需要编辑哪个div,例如:

function displayDate(i){
    ...
}

<div onmouseover = "displayDate($(i))"...
函数显示日期(i){
...
}

首先谢谢你的回答。我使用了一个id名称。我还使用了“document.getElementById(“myDiv”)”,我只是将它们放在一个名为“dom”的常量(对象)中,这样我就更容易查找和重读了。我并没有把所有的代码都放进去。它们是:const-dom={players:document.getElementById(“players”)、theDate:document.getElementById(“theDate”)、playerName:document.getElementById(“playerName”)、playerCore:document.getElementById(“playerCore”)}您的函数“sort”工作得非常好谢谢!很高兴听到这个消息@如果我的答案能解决你的问题,你可以。好的,我理解id和类的问题。谢谢,现在一切都好了。