Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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_Jquery_Html_Css - Fatal编程技术网

Javascript 圆圈菜单中的错误

Javascript 圆圈菜单中的错误,javascript,jquery,html,css,Javascript,Jquery,Html,Css,菜单本身: $(文档).ready(函数(){ $('a')。悬停(函数(){ $(“ul li”).eq($(this.index()).trigger(“鼠标悬停”); },函数(){ $(“ul li”).eq($(this.index()).trigger(“mouseout”); }); $('li')。悬停(函数(){ $('a').eq($(this.index()).css('background-color','#333333'); $(this.css('backgroun

菜单本身:


$(文档).ready(函数(){
$('a')。悬停(函数(){
$(“ul li”).eq($(this.index()).trigger(“鼠标悬停”);
},函数(){
$(“ul li”).eq($(this.index()).trigger(“mouseout”);
});
$('li')。悬停(函数(){
$('a').eq($(this.index()).css('background-color','#333333');
$(this.css('background-color','#333333');
},函数(){
$('a').eq($(this.index()).css('background-color','#666666');
$(this.css('background-color','#666666');
});
});
$(“a”)
.on(“mouseenter”,function(){
$(this.css)({
“颜色”:“#00CAF2”
});
})
.on(“mouseleave”,函数(){
变量样式={
“颜色”:”
};
$(this).css(样式);
});
问题是:当您悬停链接时,通常会选择块,但当您将光标从菜单项标题移动到其块时,somewhy块“ss8”(ul列表中的第一个块)也会选择

删除了$('a')。悬停函数,并且'ss8'不再阻塞。请参阅下面的注释代码

$(document).ready(function() {
        //$('a').hover(function() {
            //$("ul li").eq($(this).index()).trigger("mouseover");
        //}, function() {
            //$("ul li").eq($(this).index()).trigger("mouseout");
        //});

        $('li').hover(function() {
            $('a').eq($(this).index()).css('background-color', '#333333');
            $(this).css('background-color', '#333333');
        }, function() {
            $('a').eq($(this).index()).css('background-color', '#666666');
            $(this).css('background-color', '#666666');
        });
    });

尝试为链接添加类:

<a class="link" href="#menu" id=a1>ssssssss1</a>
<a class="link" href="#menu" id=a2>ssssssss2</a>
<a class="link" href="#menu" id=a3>ssssssss3</a>
<a class="link" href="#menu" id=a4>ssssssss4</a>
<a class="link" href="#menu" id=a5>ssssssss5</a>
<a class="link" href="#menu" id=a6>ssssssss6</a>
<a class="link" href="#menu" id=a7>ssssssss7</a>
<a class="link" href="#menu" id=a8>ssssssss8</a>

为什么要触发
mouseover
mouseout
?我删除了那个些触发器,它似乎工作得很好。是的,但当你们悬停一个链接时,块的选择就消失了。所以它现在不能正常工作。@bigdady:最大的问题是你正在触发
mouseover
mouseout
。这不是你的解决方案的一部分,而且会导致一系列新的问题,所以请删除它。@Andrew Coonce:那么用什么来代替呢?@Bigdad:老实说,我不知道。如果我这样做了,我会为你发布答案…但我知道篡改鼠标事件不是解决方案。这不是我想要的,因为当你悬停链接时,块的选择消失了。谢谢,现在它几乎可以工作了。除SS8外,当您悬停此链接时,块的选择将消失。问题只出现在这个块上,所有其他块在修复后都能正常工作。看起来这是html结构中的一个bug(我指的是带有“SS8”的一个)。
<a class="link" href="#menu" id=a1>ssssssss1</a>
<a class="link" href="#menu" id=a2>ssssssss2</a>
<a class="link" href="#menu" id=a3>ssssssss3</a>
<a class="link" href="#menu" id=a4>ssssssss4</a>
<a class="link" href="#menu" id=a5>ssssssss5</a>
<a class="link" href="#menu" id=a6>ssssssss6</a>
<a class="link" href="#menu" id=a7>ssssssss7</a>
<a class="link" href="#menu" id=a8>ssssssss8</a>
    $('a.link').hover(function() {
        $("ul li").eq($(this).index()).trigger("mouseover");
    }, function() {
        $("ul li").eq($(this).index()).trigger("mouseout");
    });