我对jQuery很新(和javascript这个问题),所以这可能只是我正在做的蠢事,但它真的很烦我!
我所要做的就是为jQuery的隐藏和显示功能添加速度。我正在使用的代码是:
for (var i in clouds) {
$(clouds[i]).click(function() {
$(this).hide();
});
}
在点击云时隐藏云,
function fadeLogo(state) {
var element=document.getElementById('logo');
if (state=='home') {
element.hide;
element.src='images/home.png';
element.show;
}
else {
element.hide;
element.src='images/webNameLogo.png';
element.show;
}
}
隐藏图像,更改图像然后再次显示。这是由
调用的onMouseOver=fadeLogo('home') onMouseOut=fadeLogo('logo')
这很好,但是瞬间发生。每当我尝试包括速度时,无论是“慢速”,“快速”还是毫秒,它都无法工作,它们只会保持原始状态。即使在没有速度的情况下添加hide()也会在Safari的错误控制台中引发错误:
TypeError:表达式'element.hide'[undefined]的结果不是函数。
没有报告云的错误,他们只是坐在那里没有做任何事情!
希望有人可以提供帮助!
谢谢
编辑:
现在有了这个图像更改:
$(function() { //This function fades the logo to the home button on mouseover
$('.logo').hover(function() {
$(this).fadeOut(
'slow',
function () {
$(this).attr ('src','images/home.png').fadeIn('slow');
});
}, function() {
$(this).fadeOut(
'slow',
function () {
$(this).attr('src','images/webNameLogo.png').fadeIn('slow');
});
});
});
这会使图像消失并且毫无问题,但两张图像之间没有变化...... 糟糕,应该是#logo。让那个人现在工作,进入讨厌的云......
答案 0 :(得分:0)
使用hide()方法如下:
for (var i in clouds) {
$(clouds[i]).click(function() {
$(this).hide( 'slow' ); // or you can pass the milliseconds
});
}
至于图像隐藏,你应该做这样的事情:
$( 'selector for your image' ).hide (
'slow',
function () {
$( this ).attr ( 'src', 'images/other.png' ).show ( 'slow' );
}
);