Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery更改颜色会删除悬停颜色吗?_Javascript_Jquery_Css - Fatal编程技术网

Javascript 使用jquery更改颜色会删除悬停颜色吗?

Javascript 使用jquery更改颜色会删除悬停颜色吗?,javascript,jquery,css,Javascript,Jquery,Css,因此,我: #选择#菜单。辅助#选项按钮:悬停{颜色:#000066;} 而且在我的网站上效果很好 但是,当单击其中一个按钮时,我运行一个javascript函数,该函数包含: $('button').css("color","#FFFFFF"); if(!$sameTile) $($tileSelector).css("color","#000066"); 因此,当单击按钮时,鼠标移开时高亮显示颜色将保持不变 我遇到的问题是,在第一次运行之后,按钮在高亮显示时停止更改颜色。我怎样才

因此,我:

#选择#菜单。辅助#选项按钮:悬停{颜色:#000066;}
而且在我的网站上效果很好

但是,当单击其中一个按钮时,我运行一个javascript函数,该函数包含:

$('button').css("color","#FFFFFF");
if(!$sameTile)
    $($tileSelector).css("color","#000066");
因此,当单击按钮时,鼠标移开时高亮显示颜色将保持不变

我遇到的问题是,在第一次运行之后,按钮在高亮显示时停止更改颜色。我怎样才能避开这件事?还是这是正常的行为

我正在尝试添加一个类,但无法使其正常工作:

我的一些代码: 索引: css:

或者这可能更有帮助:


查看来源:http://staging.easyzag.com/index.php?section=drink这里的问题是jQuery添加了一个内联样式,它将覆盖CSS中的规则。另一个问题是
$('button')。css('color','000666')
将对所有按钮应用内联样式

我建议在CSS中为默认值和粘性状态添加一条规则,如下所示:

button { color:#fff }
button:hover { color:#fff }
.sticky-state { color:#000066 }
然后在jQuery中执行以下操作,而不是您正在执行的操作:

`$(/*add your selector here*/).addClass('.sticky-state');
试试这个; 在你的CSS中

.new_class{ 
   color:#000066 
}
在你的JS中

$('button').css("color","#FFFFFF");
if(!$sameTile){
    $($tileSelector).removeClass()('.your_previous_class');
    $($tileSelector).addClass('.new_class');
}
或者你可以试试

$($tileSelector).css({ 'color':'#000066' });
这是小提琴(没有课)

还有这个(带班级)

这一个使用ID而不是类来使按钮唯一

我想,你想要的是一个切换解决方案,就像下面的小提琴


如果jquery给您带来麻烦,您可以不用jquery来完成

为悬停效果添加一个onmouseover和一个onmouseout处理程序,并添加一个onclick,首先取消onmouseover和onmouseout,然后设置所需的颜色。

我相信这(通常)就是您想要的:

jsFiddle:

HTML:

注意,这确实需要一个相对较新的jQuery版本(1.7+)。您还可以使用:

$('button').live('click', function(e){
    $(this).removeClass('not-sticky').addClass('sticky-state');
});


对于较旧版本的jQuery。

好的,我会尝试一下-谢谢!自我提示:阅读内联样式我似乎无法实现这一点。。我有$('.sticky-state')。removeClass('sticky-state')$($tileSelector).addClass('sticky-state');但这似乎根本没什么作用如果按钮已经是#000066,你希望它在再次悬停时变成什么颜色?@torazaburo我希望其他按钮(有20个)在高亮显示时仍然是#000066。仅供参考,如果你要使用jQuery,你需要在JSFIDLE中指定它(默认情况下设置为使用Mootools)。是的,我现在意识到了这一点,谢谢!从未使用过的JSFIDLE muchit似乎我的addClass没有做任何工作。首先,我放入$('button')。addClass('not-sticky'));在我的ready函数中,使它们以一种颜色开始,它只是以默认的黑色仍然加载..好的..添加您迄今为止尝试的任何演示,保存它并给我们提供工作链接。我在我的主要帖子中添加了一个基本测试,所以它只需要一个类开始?您是否更改了其他内容?不需要类或id。它工作正常即使没有类。只需使用
Hello
我看到的问题是,如果单击了其他按钮,我需要它返回到原始状态-如果这有意义的话?我使用的是1.7.2,所以应该没问题,我遇到的问题是$('button')似乎不会影响我的任何按钮。你能详细说明一下吗?更新的小提琴(注意版本号)我链接到的确实更改了“单击”按钮上的字体颜色你的提琴会,但在我的代码中一定有什么东西阻止它选择或做什么..我已经发布了我正在使用的完整代码,在我的文档就绪函数中,我试图添加类NotStick到所有按钮开始,它不会添加到任何按钮中,如果你愿意,我可以在类似Collabedit的东西上逐步执行它。所以不鼓励“闲聊”的问答交流。是的,那太棒了-我从来没有用过它,我现在就注册-编辑:我没意识到这需要花钱,有这样的东西是免费的吗?
$('button').on('click', function(e){
    $(this).removeClass('not-sticky').addClass('sticky-state');
});
$('button').live('click', function(e){
    $(this).removeClass('not-sticky').addClass('sticky-state');
});
$('button').click(function(e){
    $(this).removeClass('not-sticky').addClass('sticky-state');
});