我试图制作一个简单的"一个项目淡出,另一个淡出"当鼠标在jquery中的对象函数上时。不幸的是它似乎不起作用。 这是js:
var fadeout = function(target) //fade out the logo and run fadein (fade in the skull)
{
$(target +' .logo').fadeTo(400,0,fadein(target));
};
var fadein = function(target) //fade in the skull
{
$(target +' .skull').fadeTo(500,1);
};
//trigger fadein when mouse is over an option
$('#mortal').mouseover(fadeout('#mortal')); //mortal
当我在Chrome控制台中查看代码时,它运行正常,但是当我将鼠标悬停在#mortal上时,没有任何反应。
以下是相关的HTML:
<div class="choice_option" id="mortal">
<img class="logo" src="img\text\230px-WorldofDarknessLogo.png"></img>
<img class="skull" src="img\skulls\mortal.png"></img>
</div>
和相关的CSS:
.logo{ /* text logo in each choice_option */
position: absolute;
z-index: 0;
}
.skull{ /* skull in each choice_option */
position: absolute;
z-index: 1;
opacity: 0;
}
我错过了什么?
答案 0 :(得分:1)
你的代码非常复杂。您只需在设置callback
处理程序时使用mouseover
参数。试试这个:
$('#mortal').mouseover(function() {
var $logo = $('.logo', this);
var $skull = $('.skull', this);
$logo.fadeOut(function() {
$skull.fadeIn();
});
});
此外,img
代码应该是自动关闭的:
<div class="choice_option" id="mortal">
<img class="logo" src="img\text\230px-WorldofDarknessLogo.png" />
<img class="skull" src="img\skulls\mortal.png" />
</div>
最后,.skull
div应为display: none
,而不是opactiy: 0
fadeIn
或fadeOut
才能生效。
答案 1 :(得分:0)
试试这个:
$(document).ready(function(){
var fadeout = function(target) //fade out the logo and run fadein (fade in the skull)
{
$(target +' .logo').fadeTo(400,0,fadein(target));
};
var fadein = function(target) //fade in the skull
{
$(target +' .skull').fadeTo(500,1);
};
$(document).on('mouseover', '#mortal', function(){
fadeout('#mortal')
});
});
答案 2 :(得分:0)
尝试
$('#mortal').mouseenter(function() {
fadeout('#mortal');
});
答案 3 :(得分:0)
将代码包装在函数中以使其工作。
它的工作! http://jsfiddle.net/CYLcY/23/
.mouseover(
function() { alert('working !');
fadeout('#mortal')//mortal
});
答案 4 :(得分:0)
use首先应该将代码包装在一个方法中。另一件事是为特定对象
正确编写淡入淡出的语法`
$("#mortal").mouseover(function(){
$('.logo').hide();
});
`
答案 5 :(得分:0)
您需要在鼠标悬停中附加淡出功能。像这样:
$('#mortal').mouseover(function(){
fadeout('#mortal');
}); //mortal