Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.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 鼠标移动时增加两个div的高度_Javascript_Html_Css_Onmousemove - Fatal编程技术网

Javascript 鼠标移动时增加两个div的高度

Javascript 鼠标移动时增加两个div的高度,javascript,html,css,onmousemove,Javascript,Html,Css,Onmousemove,我用两个div水平分割了浏览器的一页,我想增加一个div的高度,在另一个div中使用鼠标在y轴上的位置来减少它。当我在页面的上半部分时,它会放大第一个div,当我在页面的下半部分时,它会放大第二个div,但保持两个div的总和高度等于页面的高度 这是我的密码 <html><head> <meta charset="UTF-8"> <style> *{ margin: 0 auto; } #container{ height: 100

我用两个div水平分割了浏览器的一页,我想增加一个div的高度,在另一个div中使用鼠标在y轴上的位置来减少它。当我在页面的上半部分时,它会放大第一个div,当我在页面的下半部分时,它会放大第二个div,但保持两个div的总和高度等于页面的高度

这是我的密码

<html><head>
<meta charset="UTF-8">
<style>
*{
    margin: 0 auto;
}
#container{
    height: 100vh
}
#alto{
    width: 100vw;
    height: 50vh;
    background-color: mediumpurple;
}
#basso{
    width: 100vw;
    height: 50vh;
    background-color: royalblue;
}
</style>
</head>
<body>
<div id="alto" onMousemove="myFunction()" ></div>
<div id="basso" ></div>
<script>
function myFunction() {
    var y = event.clientY + "px";
    document.getElementById("basso").style.height =  y ;
    }
</script>
</body>
</html>

*{
保证金:0自动;
}
#容器{
高度:100vh
}
#中音{
宽度:100vw;
高度:50vh;
背景色:mediumpurple;
}
#巴索{
宽度:100vw;
高度:50vh;
背景颜色:皇家蓝;
}
函数myFunction(){
变量y=event.clientY+“px”;
document.getElementById(“basso”).style.height=y;
}
看看这个

var section1=document.getElementById(“section1”);
var section2=document.getElementById(“section2”);
document.onmousemove=函数(事件){
节1.style.height=event.clientY+'px';
第2.style.height=“计算(100%-”+event.clientY+‘px’;
}
*{
保证金:0;
填充:0;
框大小:边框框;
}
.集装箱{
背景:灰色;
高度:100vh;
}
#第1节#第2节{
身高:50%;
过渡:所有0.1秒;
}
#第一节{
背景:火红;
}
#第2节{
背景:粉红色;
}

仅使用CSS就可以实现此效果的更简单版本(即,不必不断改变相对于鼠标位置的高度)

工作示例:

正文{
保证金:0;
填充:0;
}
div{
宽度:100vw;
高度:50vh;
保证金:0自动;
过渡:高度0.3s线性;
}
div:悬停{
高度:80vh;
}
主体:非(:悬停)div{
高度:50vh;
}
div:not(:悬停){
高度:20vh;
}
阿尔托先生{
背景色:mediumpurple;
}
巴索先生{
背景颜色:皇家蓝;
}


onmouseover
增加高度,
onmouseout
恢复高度。您可以通过操作示例中的样式来实现这一点,但应该使用单独的CSS样式。您好,回答对您有用吗?我的目标是使用event.clientY作为一个选项来更改与鼠标位置相关的高度parameter@mattiaU现在更新了答案,它需要的代码比以前更少。哇,太好了,谢谢你…但它应该是相反的,当我在div上时,它应该增加它的高度。我想你需要
函数(事件)
而不是简单的
函数()
-否则它在Firefox中不起作用。@Rounin是的,我确实没有在Firefox上测试它,我在某种程度上认为它是如何在没有事件的情况下工作的,但由于它在Chrome中工作,我没有进一步调查。谢谢。这是我以前提供的,但OP不希望这样,然后我更新了我的答案。