我不这样做。我想要改变CSS函数的解决方案,以便我可以传递不同的属性和值。
$("div").on("mouseover", changeCSS("opacity","0.5"));
function changeCSS(prop,val) {
$(this).css(prop, val);
}
答案 0 :(得分:3)
它不起作用,因为在changeCSS
,this === window
内。你也应该传入元素。如果要提供自定义参数,还需要给.on()
一个函数。
$("div").on("mouseover", function () {
changeCSS(this, "opacity", "0.5"));
});
function changeCSS(elem, prop, val) {
$(elem).css(prop, val);
}
您可能已经完成了,但您可能还应该有一个mouseleave事件来恢复不透明度。
$("div").on("mouseleave", function () {
changeCSS(this, "opacity", "1"));
});
答案 1 :(得分:0)
我不相信鼠标悬停可以这样使用,只是一个功能。我假设你只想在鼠标结束时改变css,并在它离开后改回来..如果不是你可以删除mouseleave功能:
$("div").bind("mouseenter",function(){
changeCSS(this, "opacity", "0.5");
}).bind("mouseleave",function(){
changeCSS(this, "opacity", "1");
});
function changeCSS(ele, prop,val) {
$(ele).css(prop, val);
}