Javascript 悬停父子动态分配

Javascript 悬停父子动态分配,javascript,Javascript,我正在从CMS生成项目,我正在为每个项目创建一个带有图像的容器和一个带有文本框的条子。。图像将代表项目图像,文本框将代表标题。。封面元素用于覆盖图像和条子,因此您有一个干净的悬停体验 我希望它们中的每一个都有一个悬停方法来处理底层图像和片段。如果可能的话,我更喜欢使用velocity,尽管我认为-因为这只是不透明度的改变和缩放,我也可以切换到完整的CSS 这里的主要问题是,如何访问位于同一容器中的image和silver元素。当覆盖元素悬停时会发生这种情况吗 是否有一种方法可以转到父元素,然后返

我正在从CMS生成项目,我正在为每个项目创建一个带有图像的容器和一个带有文本框的条子。。图像将代表项目图像,文本框将代表标题。。封面元素用于覆盖图像和条子,因此您有一个干净的悬停体验

我希望它们中的每一个都有一个悬停方法来处理底层图像和片段。如果可能的话,我更喜欢使用velocity,尽管我认为-因为这只是不透明度的改变和缩放,我也可以切换到完整的CSS

这里的主要问题是,如何访问位于同一容器中的image和silver元素。当覆盖元素悬停时会发生这种情况吗

是否有一种方法可以转到父元素,然后返回具有特定类/id的关联子元素,然后对该子元素执行操作

---在代码片段中,您可以看到对cover元素本身执行的操作,我希望对同一容器中的底层元素执行操作---

//创建主flexbox
var flexbox_projects=document.createElement(“div”);
flexbox_projects.className=“flex容器”;
flexbox_projects.id=“flexbox_projects”;
document.getElementById(“body”).appendChild(flexbox_项目);

对于(i=0;i我通过访问元素的parentnode找到了一个解决方案,因此找到了容器

有了这个元素,我调用了velocity调用来创建所需的运动。 我还需要考虑元素的动态命名。。 因此id=“sliver\u项目+i”将遍历该行

无法运行代码段,因为velocity调用未被识别。但通过这种方式,您可以了解我是如何解决它的

//与项目的交互
//关于悬停项目
功能项目(e){
//从父节点获取id
var parentnode=document.getElementById(e.target.parentnode.id);
//从父节点获取子元素
var image\u change=parentnode.querySelector(“.main\u picture”).id;
var sliver\u change=parentnode.querySelector(“.sliver\u项目”).id;
console.log(e.target.parentNode);
//着色器消失
$(“#”+图像变化)速度({scale:“1.02”},{easing:“ease in”,延迟:0,持续时间:150});
$(“#”+银条变化)。速度({opacity:“0”},{easing:“ease in”,延迟:0,持续时间:150});
}
//在离开项目时
功能工程(e){
//从parentnode通过id获取parentnode
var parentnode=document.getElementById(e.target.parentnode.id);
//使用parentnode中的id,查找子元素
var image\u change=parentnode.querySelector(“.main\u picture”).id;
var sliver\u change=parentnode.querySelector(“.sliver\u项目”).id;
//着色器重新出现
$(“#”+图像变化)。速度({scale:“1”},{easing:“ease in”,延迟:0,持续时间:150});
速度({不透明度:“1”},{放松:“放松”,延迟:100,持续时间:250});
}
//创建主flexbox
var flexbox_projects=document.createElement(“div”);
flexbox_projects.className=“flex容器”;
flexbox_projects.id=“flexbox_projects”;
document.getElementById(“body”).appendChild(flexbox_项目);

对于(i=0;i我通过访问元素的parentnode找到了一个解决方案,因此找到了容器

有了这个元素,我调用了velocity调用来创建所需的运动。 我还需要考虑元素的动态命名。。 因此id=“sliver\u项目+i”将遍历该行

无法运行代码段,因为velocity调用未被识别。但通过这种方式,您可以了解我是如何解决它的

//与项目的交互
//关于悬停项目
功能项目(e){
//从父节点获取id
var parentnode=document.getElementById(e.target.parentnode.id);
//从父节点获取子元素
var image\u change=parentnode.querySelector(“.main\u picture”).id;
var sliver\u change=parentnode.querySelector(“.sliver\u项目”).id;
console.log(e.target.parentNode);
//着色器消失
$(“#”+图像变化)速度({scale:“1.02”},{easing:“ease in”,延迟:0,持续时间:150});
$(“#”+银条变化)。速度({opacity:“0”},{easing:“ease in”,延迟:0,持续时间:150});
}
//在离开项目时
功能工程(e){
//从parentnode通过id获取parentnode
var parentnode=document.getElementById(e.target.parentnode.id);
//使用parentnode中的id,查找子元素
var image\u change=parentnode.querySelector(“.main\u picture”).id;
var sliver\u change=parentnode.querySelector(“.sliver\u项目”).id;
//着色器重新出现
$(“#”+图像变化)。速度({scale:“1”},{easing:“ease in”,延迟:0,持续时间:150});
速度({不透明度:“1”},{放松:“放松”,延迟:100,持续时间:250});
}
//创建主flexbox
var flexbox_projects=document.createElement(“div”);
flexbox_projects.className=“flex容器”;
flexbox_projects.id=“flexbox_projects”;
document.getElementById(“body”).appendChild(flexbox_项目);

对于(i=0;i,我在代码片段中做了一些更改,以实现您对香草javascript的需求

//创建主flexbox
var flexbox_projects=document.createElement(“div”);
flexbox_projects.className=“flex容器”;
flexbox_projects.id=“flexbox_projects”;
document.getElementById(“body”).appendChild(flexbox_项目);

对于(i=0;i,我在代码片段中做了一些更改,以实现您对香草javascript的需求

//创建主flexbox