Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 具有3个元素的动态Flex_Javascript_Jquery_Css_Flexbox - Fatal编程技术网

Javascript 具有3个元素的动态Flex

Javascript 具有3个元素的动态Flex,javascript,jquery,css,flexbox,Javascript,Jquery,Css,Flexbox,我有一行元素,当它们悬停在上面时,我需要在宽度上做出响应。行中有3个元素,我使用-webkit-flex对每个元素进行初始样式设置。第一个元素的值设置为“2”,其他两个元素的值设置为“1” 我希望它对悬停做出如下响应: -将鼠标移到element1上-不会发生任何事情(因为它被设置为-webkit flex值“2”)。 -将鼠标移到element2上-element1的值为“1”,element2的值为“2”。 -将鼠标移到element3上-element1的值为“1”,element3的值为

我有一行元素,当它们悬停在上面时,我需要在宽度上做出响应。行中有3个元素,我使用-webkit-flex对每个元素进行初始样式设置。第一个元素的值设置为“2”,其他两个元素的值设置为“1”

我希望它对悬停做出如下响应: -将鼠标移到element1上-不会发生任何事情(因为它被设置为-webkit flex值“2”)。 -将鼠标移到element2上-element1的值为“1”,element2的值为“2”。 -将鼠标移到element3上-element1的值为“1”,element3的值为“2”

我还希望它在初始元素更改为1后作出响应: -(element2=2的值)将鼠标悬停在element3-element2=1和element3=“2”上。 -等等

如果可能的话,我想用CSS来实现这一点。我意识到这对CSS来说可能有点过于动态,我的问题必须用JS来处理

提前谢谢你

下面是一个简单的例子:

HTML


你的问题有点让人困惑。我根据你的解释创作了一把小提琴

它确实使用jQuery,但非常简单:

当鼠标进入容器内部的div时,它会添加一个名为.wrapper hovered的类。这会将容器宽度设置为200%,当您将鼠标悬停在其任何同级上时,它会从同级上删除该类,并将其添加到您所悬停的元素中

$(document).ready(function() {
    $("#wrapper div").hover(function(){
       $(this).addClass("wrapper-hovered");
        $(this).siblings("div").removeClass("wrapper-hovered")
    });

});

这只是有点让人困惑。你到底想完成什么?听起来你在尝试使用条件逻辑?是的,先生!根据需要将div的实例更改为ul或li!确保你有正确的父母/孩子参考资料
#wrapper {
    display: -webkit-flex;
}

#wrapper div {
    height: x;
}

        /****Element Flex Rules****/
        #wrapper element1 {
            -webkit-flex: 2;
        }

        #wrapper element2 {
            -webkit-flex: 1;
        }

        #wrapper element3 {
            -webkit-flex: 1;
        }
$(document).ready(function() {
    $("#wrapper div").hover(function(){
       $(this).addClass("wrapper-hovered");
        $(this).siblings("div").removeClass("wrapper-hovered")
    });

});