我有不同的“抽屉”,滑动打开和关闭响应我的网页上的导航链接。我使用一些jQuery将它们打开和关闭,并根据打开的“抽屉”更改页面背景和链接颜色。试图分配jQuery值与if语句
我还使用一些jQuery来淡化链接上的悬停颜色。一切都工作正常,除了让鼠标悬停的链接返回到新的基本颜色。它总是默认为原始的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";
}
也许没有抽屉是可见的,所以无论if语句被触发?你可以试试'if/else'而不是2'if's。如果我是对的,它总是会采用'else'子句。 –
假设它们中的一个是可见的,它应该可以工作,但是你并不真正需要在'if'语句正文中赋值前的'var'关键字。 –
“drawerA”默认是可见的。 – Rob