検索

ホームページ  >  に質問  >  本文

javascript - 刚学JS,求问下大神下面代码有些什么问题

下面是个简单的日历,为什么onmouseover一个li就会隐藏啊。。。实在不懂,TAT

<script>

window.onload=function(){
    var op=document.getElementById("tab");
    var aLi=document.getElementsByTagName("li");
    var oTxt=document.getElementsByTagName("p")[0];
    
    for (var i=0;i<aLi.length;i++)
    {
        aLi[i].index=i;
        aLi[i].onmouseover=function()
        {
            for(i=0;i<aLi.length;i++)
            {
                aLi[i].className="";
            }
            this.className="active";
            
            oTxt.innerHTML='<h2>'+(this.index+1)+'月活动</h><p>啦啦啦啦啦啦</p>';
        };
    }
    
     
};

</script>

PHPzPHPz2896日前314

全員に返信(4)返信します

  • 迷茫

    迷茫2017-04-10 17:26:27

    window.onload=function(){
        var op = document.getElementById("tab");
        var aLi = document.getElementsByTagName("li");
        var oTxt = document.getElementsByTagName("p")[0];
        
        for (var i=0;i<aLi.length;i++){
            aLi[i].index=i;
            aLi[i].onmouseover=function(){
                this.className="active";
                oTxt.innerHTML='<h2>'+(this.index+1)+'月活动</h><p>啦啦啦啦啦啦</p>';
            };
        }
    };

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:26:27

    跟楼上答案一样.因为:`for(i=0;i<aLi.length;i++)

            {
                aLi[i].className="";
            }`把className都设置为空了

    返事
    0
  • ringa_lee

    ringa_lee2017-04-10 17:26:27

    没有html和css不好看出问题所在

    返事
    0
  • PHP中文网

    PHP中文网2017-04-10 17:26:27

    这样写的代码也是很不够优雅啊,在每一个li元素上都绑定一个事件处理得多耗内存,完全可以考虑使用事件代理

    返事
    0
  • キャンセル返事