Jquery 集中输入改变了单独div的背景

Jquery 集中输入改变了单独div的背景,jquery,html,css,Jquery,Html,Css,我正在做一个项目,我在这里有点困惑,也许有人知道可以做什么。我正在开发一个系统,在这个系统中,我将为我正在开发的系统的颜色选项设置6个输入部分,我正在做的是等待他们当前关注的输入,它将在系统右侧的一个div off中显示一个特定的背景图像,这基本上是一个显示特定输入影响的图表 下面是一个示例图像: 我一直在想,是否可以像使用:focus那样使用CSS,但我在那里发现的并没有帮助。我确信我可以用jQuery来完成这项工作,但是,我对jQuery几乎一无所知。这个表单,我可以很容易地制作出来,但是

我正在做一个项目,我在这里有点困惑,也许有人知道可以做什么。我正在开发一个系统,在这个系统中,我将为我正在开发的系统的颜色选项设置6个输入部分,我正在做的是等待他们当前关注的输入,它将在系统右侧的一个div off中显示一个特定的背景图像,这基本上是一个显示特定输入影响的图表

下面是一个示例图像:

我一直在想,是否可以像使用:focus那样使用CSS,但我在那里发现的并没有帮助。我确信我可以用jQuery来完成这项工作,但是,我对jQuery几乎一无所知。这个表单,我可以很容易地制作出来,但是,让它改变特定div的背景图像是我一直坚持的地方

任何想法/帮助都将不胜感激

编辑: 我第一次使用CSS实现这一点的示例如下:

<!DOCTYPE html>
<html>
<head>
<style>
#test:focus + #test3{
    background-color: yellow;
}
#test2:focus + #test3{
    background-color: red;
}
#test3{
    width:250px;
    height:150px;
    border: 1px solid #000;
}
</style>
</head>
<body>


<form>
Input #1: <input id="test" type="text" name="firstname"><br>
Input #2: <input id="test2" type="text" name="lastname">
</form>
<br>
<div id="test3">&nbsp;</div>


</body>
</html>

#测试:焦点+#测试3{
背景颜色:黄色;
}
#测试2:焦点+#测试3{
背景色:红色;
}
#测试3{
宽度:250px;
高度:150像素;
边框:1px实心#000;
}
输入#1:
输入#2:

以下是一些jQuery代码,用于完成您想要做的事情。 您可以将
数据颜色
属性替换为
数据url
属性,并使用该属性设置背景。这里没有太多的代码,只有
$(element).on('focus',function(){…}
,这是一种常用的jQuery事件处理结构

如果不想在离开输入时重置背景,可以跳过与模糊事件关联的事件处理程序

constdisplayArea=$('.displayArea');
$('input')。在('focus',function()上{
const color=$(this.data('color');
css('background',color);
});
$('input')。在('blur',function()上{
css('background','');
});
.form行{
显示器:flex;
调整内容:灵活启动;
}
.输入栏{
保证金:-5px;
}
.输入栏输入{
显示:块;
保证金:5px;
}
.展示区{
左边距:10px;
背景:红色;
宽度:200px;
}

这可以通过CSS实现

将显示区域保持为输入的同级,并绝对定位显示区域

然后,您可以将
~
:focus
结合使用,以实现您的目标。在您的代码中,您使用的是
+
,这是

。输入列{
宽度:50%;
位置:相对位置;
}
.输入栏输入{
浮动:左;
宽度:30%;
保证金:5px;
}
.输入列标签{
浮动:左;
宽度:30%;
保证金:5px;
清除:左;
}
.展示区{
位置:绝对位置;
排名:0;
左:70%;
背景:红色;
宽度:200px;
高度:200px;
浮动:对;
}
.bill:focus~.显示区{
背景图像:url('https://www.fillmurray.com/200/200');
}
.billGrey:焦点~.显示区{
背景图像:url('https://www.fillmurray.com/g/200/200');
}
.nick:focus~。显示区{
背景图像:url('https://www.placecage.com/200/200');
}
.nickGrey:焦点~.显示区{
背景图像:url('https://www.placecage.com/g/200/200');
}

比尔
灰嘴
灰尼克
刻痕

您所问的内容过于宽泛和不明确。我认为现在是您浏览帮助区域的好时机,如果您还没有了解帮助区域及其内部的相关链接。通读这些内容,您将了解堆栈溢出方面的工作原理。这将为您提供一个好主意,了解如何制定一个好的问题,以及可以和应该做什么没有被问到,以及对你的期望。这是为了帮助(你)而制定和实施的在堆栈溢出方面有一个更好和积极的体验,这是每个人都想要和追求的。我已经删除了PHP标签,因为这个问题与PHP无关。在一个支持:focus in的浏览器上,您几乎可以单独使用CSS来实现这一点,所以我将回答您暗示的问题:如何使用jQuery实现这一点?请包括some代码。作为一个开始,您的HTML可能会向我们展示您在
:focus
方面所做的尝试。最好的选择是提供一个。这里的一个最重要的提示是在背景图像中使用CSS spring,这样图像就不需要在项目focus上按需下载。@Funk四十九,我认为这不是一个太宽泛的问题,因为JasonB基本上回答了我要找的问题。我不确定使用或不使用jQuery时该如何操作。@JasonB感谢您删除标记,也感谢jQuery,这正是我要找的。当输入类型为颜色时,有没有办法使用它?我注意到,当我尝试时,直到选择I之后,它才变得不集中不支持颜色。不幸的是没有,因为颜色选择器本身现在有焦点,而不是字段。一次只能有一个元素有焦点。