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

Javascript 获得以前的兄弟姐妹,手风琴效果

Javascript 获得以前的兄弟姐妹,手风琴效果,javascript,html,css,Javascript,Html,Css,我试图在悬停时在DIV上获得手风琴效果 手风琴的右边已经可以用了,但左边不行 我把代码放进去了 有人能帮我弄一下左边吗?我已经试了好几个小时了,但还是不行。:( Javascript: $(document).ready(function () { $('.middle').hover(function () { $(this).siblings().stop().animate({ opacity: 1 }, 200);

我试图在悬停时在DIV上获得手风琴效果

手风琴的右边已经可以用了,但左边不行

我把代码放进去了

有人能帮我弄一下左边吗?我已经试了好几个小时了,但还是不行。
:(

Javascript:

$(document).ready(function () {
    $('.middle').hover(function () {
        $(this).siblings().stop().animate({
            opacity: 1
        }, 200);
    },

    function () {
        $(this).siblings().stop().animate({
            opacity: 0
        }, 200);
    });
});

在css中,您可以在右侧块上设置转换属性和转换持续时间设置,但不能在左侧块上设置。如果您将它们注释掉,两个转换将快速同时发生。如果您添加镜像到左侧的那些设置,它们都会发生得更慢。

在css中,您可以将转换属性设置为右侧块上的nd过渡持续时间设置,而不是左侧块。如果注释掉它们,两个过渡都会快速同时发生。如果添加镜像到左侧的设置,则两个过渡都会发生得更慢。

右侧变淡而左侧变淡的原因是因为您正在应用CSS过渡在右侧的跨度上

您可以通过对
标记应用相同的转换来轻松解决此问题:

.squares span {
    transition-property:opacity;
    transition-duration:1s;
    transition-delay:0.1s;
}
事实上,您可以通过将跨多个跨距的重复样式组合到单个定义中,来压缩代码并使整体调整更容易

例如:

.squares span {
    opacity: 0;
    float: left;
    width: 139px;
    height: 138px;
    transition-property:opacity;
    transition-duration:1s;
    transition-delay:0.7s;
}

span.middle {
    background:#0f0;
    opacity: 1;
}

span.left1,
span.right1 {
    background:#00F;
    transition-delay:0.1s;
}
span.left2,
span.right2 {
    background:#0FF;
    transition-delay:0.3s;
}
span.left3,
span.right3 {
    background:#0F0;
    transition-delay:0.5s;
}
span.left4,
span.right4 {
    background:#FF0;
    transition-delay:0.7s;
}

请参见此处的工作示例:

右侧变暗而左侧变暗的原因是您正在对右侧跨距应用CSS转换

您可以通过对
标记应用相同的转换来轻松解决此问题:

.squares span {
    transition-property:opacity;
    transition-duration:1s;
    transition-delay:0.1s;
}
事实上,您可以通过将跨多个跨距的重复样式组合到单个定义中,来压缩代码并使整体调整更容易

例如:

.squares span {
    opacity: 0;
    float: left;
    width: 139px;
    height: 138px;
    transition-property:opacity;
    transition-duration:1s;
    transition-delay:0.7s;
}

span.middle {
    background:#0f0;
    opacity: 1;
}

span.left1,
span.right1 {
    background:#00F;
    transition-delay:0.1s;
}
span.left2,
span.right2 {
    background:#0FF;
    transition-delay:0.3s;
}
span.left3,
span.right3 {
    background:#0F0;
    transition-delay:0.5s;
}
span.left4,
span.right4 {
    background:#FF0;
    transition-delay:0.7s;
}

请参见此处的工作示例:

对我来说似乎工作正常,您认为左边的不正常是什么意思?对我来说似乎工作正常(Win7 FF21)试着增加动画的时间,我认为左边的先出现,所以速度更快,你看不到fadein,可能是因为某种程度的放松?如果是这样,你可能需要进入更详细的解决方案,比如分别设置左边和右边的动画。@watson,上面的方块左边的一下子就出现了。我希望他们以与右边相同的方式出现。对我来说似乎工作得很好,你是什么意思左边的一个没有?似乎对我工作(Win7 FF21)试着增加动画的时间,我认为左边的先出现,所以速度更快,你看不到fadein,可能是因为某种程度的放松?如果是这样,你可能需要进入更详细的解决方案,比如分别设置左边和右边的动画。@watson,上面的方块左边的人一下子就出现了,我希望他们和右边的人一样出现