我有不同的“抽屉”,可以根据我页面上的导航链接滑动打开和关闭。我正在使用一些jQuery来打开和关闭它们,并根据哪个“抽屉”打开来更改页面背景和链接颜色。
我也使用一些jQuery来淡化链接上的悬停颜色。一切正常,除了在mouseout上获得返回NEW基色的链接。它始终默认为原始css值。所以,我知道我必须进入下面并根据我希望链接在mouseout上返回的颜色来更改.mouseout颜色。
如果我只是设置一个变量,如下例所示,一切都很好,它的工作效果非常好。
var originalColor = "#123456";
jQuery.fn.linkFader = function(settings) {
settings = jQuery.extend({
returnColor: originalColor,
color: '#8dc63f',
duration: 600
}, settings);
return this.each(function() {
$(this).mouseover(function() { $(this).stop(true, true).animate({ color: settings.color },settings.duration); });
$(this).mouseout(function() { $(this).stop(true, true).animate({ color: settings.returnColor },settings.duration); });
$(this).click(function() { $(this).stop(true, true).animate({ color: settings.color },settings.duration); });
});
};
$(document).ready(function() {
$('.fader').linkFader({
});
});
但是......如果我尝试像下面那样分配变量“originalColor”,它就会失败。我需要脚本来确定哪个“抽屉”是打开的,并将变量设置为正确的颜色。我在这里做错了什么?
var originalColor='';
if($('#drawerA').is(":visible")){
var originalColor = "#123456";
}
if($('#drawerB').is(":visible")){
var originalColor = "#456789";
}
答案 0 :(得分:2)
具有可见性的元素:隐藏或不透明度:0被视为可见,因为它们仍占用布局中的空间。 - jQuery API
这就是为什么你的第二个如果总是被击中。
您必须使用display: none
<强> FYI 强>
可见元素是不:
的元素display:none
type="hidden"
0