Javascript 鼠标悬停时的Jquery fadeTo
我正在使用一个名为anything slider的插件,试图让控件在4秒后淡出(这是有效的),然后在鼠标上方将不透明度改回1(不起作用)。这就是我到目前为止所拥有的…我做错了什么Javascript 鼠标悬停时的Jquery fadeTo,javascript,jquery,function,fadeto,Javascript,Jquery,Function,Fadeto,我正在使用一个名为anything slider的插件,试图让控件在4秒后淡出(这是有效的),然后在鼠标上方将不透明度改回1(不起作用)。这就是我到目前为止所拥有的…我做错了什么 $(slider.$controls).mouseover(function() slider.$controls.fadeTo(400, 1.0); }); $(function () { var fadeTime = 400, fadeDelay = 4000, time
$(slider.$controls).mouseover(function()
slider.$controls.fadeTo(400, 1.0);
});
$(function () {
var fadeTime = 400,
fadeDelay = 4000,
timer, hideControls = function (slider) {
clearTimeout(timer);
setTimeout(function () {
slider.$controls.fadeTo(fadeTime, 0.3);
$('.tooltip').fadeOut(fadeTime);
}, fadeDelay);
};
});
您应该将每个
滑块.controls.fadeTo
替换为滑块.controls.fadeTo
$(slider.controls).mouseover(function()
$(this).fadeTo(400, 1.0);
});
第2行出现语法错误。你在哪里
slider.$controls.fadeTo...
你应该
$(this).fadeTo...
因为一旦您在第1行输入了匿名函数,
this
对象现在引用您正在执行此代码的DOM元素,它是由slider.controls
表示的元素。首先,您使用slider.controls
以控制元素为目标,然后使用滑块。$controls
以相同的元素为目标。我想你需要决定是哪一个
此外,在回调函数中,您可以使用this
作为对已触发事件的元素的引用:
$(slider.controls).bind('mouseover', function () {
$(this)...
});
否则,如果要同时淡入所有控件,则只需确定是否需要使用
滑块。$controls
或滑块。controls
更新
我看到您已经更改了问题,现在您正在使用
滑块。$controls
两次。您应该将mouseover
代码放在文档中。就绪
事件处理程序,以便知道DOM元素可用:
$(function () {
slider.$controls.mouseover(function()
slider.$controls.fadeTo(400, 1.0);
});
var fadeTime = 400,
fadeDelay = 4000,
timer, hideControls = function (slider) {
clearTimeout(timer);
setTimeout(function () {
slider.$controls.fadeTo(fadeTime, 0.3);
$('.tooltip').fadeOut(fadeTime);
}, fadeDelay);
};
我还注意到您第一次在jQuery对象中包装了
slider.$controls
,但不是第二次,如果slider.$controls
还不是jQuery对象,请确保这样做。$controls已经不是jQuery对象(很多时候开发人员将$
作为变量名的第一个字符来表示它是jQuery对象).滑块。$controls
有效,是否有理由更改它?我从语法角度知道它有效,但代码应该一致;要么将它们全部设为slider.$controls,要么设为slider.controls。第二个将其淡入不透明度0.3的功能非常有效。我仍然无法让鼠标盖工作…你能发布一个链接到该页面吗?