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

如果将鼠标悬停在图像上,则执行函数,Javascript

如果将鼠标悬停在图像上,则执行函数,Javascript,javascript,Javascript,基本上,我想要的是,每当有人在img标签上悬停时调用函数,当用户停止悬停时,函数所做的更改将被删除 尝试做的是在图像悬停时在图像后添加一些html,如果在任何图像上没有悬停,则清除添加的html 所以基本上,如果页面上的任何图像被悬停,则运行函数(该函数可以操作悬停的图像,最有可能使用outerhtml),如果用户没有悬停在任何图像上,则html外部的所有图像都应为空 我更喜欢香草Javascript而不是jq的解决方案 我希望我在这里讲得有道理。使用以下代码: function DoWork(

基本上,我想要的是,每当有人在img标签上悬停时调用函数,当用户停止悬停时,函数所做的更改将被删除

尝试做的是在图像悬停时在图像后添加一些html,如果在任何图像上没有悬停,则清除添加的html

所以基本上,如果页面上的任何图像被悬停,则运行函数(该函数可以操作悬停的图像,最有可能使用outerhtml),如果用户没有悬停在任何图像上,则html外部的所有图像都应为空

我更喜欢香草Javascript而不是jq的解决方案


我希望我在这里讲得有道理。

使用以下代码:

function DoWork() {};
function RevertWork() {};

var imgs = document.getElementsByTagName('img');
for (var i = 0; i < imgs.length; i++) {
    imgs[i].onmouseover = DoWork;
    imgs[i].onmouseout = RevertWork;
}
函数DoWork(){};
函数restortwork(){};
var imgs=document.getElementsByTagName('img');
对于(变量i=0;i
你确定仅仅使用CSS和
img:hover
不能做你想做的事情吗?正如我所说,我需要添加html,所以它可以使用CSS工作。如果是这样的话,它将需要大量不必要的html,而且它无法自动化。@Namanyayg我认为Jon的观点是,您可能能够使用CSS,但我们无法从您的问题中判断。例如,您可以将要添加/删除的HTML放在页面上,但隐藏,然后使用CSS显示/隐藏它-这可能仍然比添加/删除HTML性能更好。你是否能做到这一点取决于你实际上在做什么,例如,如果每次你显然不能做到这一点,它都是不同的HTML。社交媒体按钮将被加载。好的,要通过CSS改变东西,它应该是嵌套的,要嵌套它,我需要手动改变每个图像。我还希望html位于图像之外,而不是其他地方,所以我认为outerhtml是最好的。你认为css解决方案是什么?做它的网站,使用网页上的每个图像运行该功能,对吗?所以,如果有10个图像,它会运行20个函数,如果我没有错的话。。它不会增加负载,还是会很好?@Namanyayg它只会为每个mouseover和mouseout事件运行一次。因此,事件处理程序的数量不会降低加载时间方面的性能。感谢快速解决方案:)