0

私はこれを機能させません。さまざまなプロパティと値を渡すことができるように、changeCSS 関数を介してソリューションが必要です。

$("div").on("mouseover", changeCSS("opacity","0.5"));

function changeCSS(prop,val) {
$(this).css(prop, val);
}
4

2 に答える 2

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"));
});
于 2013-04-06T13:56:36.507 に答える
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);
}

http://jsfiddle.net/x2vhN/

于 2013-04-06T14:08:47.980 に答える