2014-11-14 107 views
0

我有这样的功能:动画元素不会改变风格上悬停

$(document).ready(function() { 
    function animatexyz() { 
    $('.xyz-ico a').animate({ 
     opacity: '.5' 
    },1000).animate({ 
     opacity: '.15' 
    },1000, animatexyz); 
    } 
    animatexyz(); 
} 

(XYZ-ICO a)条,直到我提出我的鼠标在它不断闪烁的元素,那么它应只是完全可见(不透明度1)。在我离开元素后,它必须继续闪烁。

在我的CSS文件中,“.xyz-ico a:hover”伪元素的透明度为1,但只要我使用这个动画“循环”,当我将鼠标移到元素上时,没有任何变化。

我的CSS代码:

.xyz-ico { 
    position:fixed; 
    top:150px; 
    right:30px; 
    z-index:999; 
} 

.xyz-ico a { 
    opacity: .15; 
} 

.xyz-ico a:hover { 
    opacity: 1; 
} 

我试图实现.hover和鼠标悬停jQuery函数到我的jQuery代码,但没有工作(只是两个动画步骤之间极短的瞬间我猜测)。似乎这个循环在任何地方都会“覆盖”不透明度值。也许你有一个想法,我可以简单地解决这个问题。

感谢很多:)

+1

你'$(文件)。就绪(函数(){...}'应该有一个括号结束还有:'$(文件)。就绪(函数(){...});' – apparatix 2014-11-14 18:48:44

回答

1

这应做到:

.xyz-ico a:hover { 
    opacity: 1 !important; 
} 

的原因是jQuery的直接设置样式,其覆盖在样式表中设置的任何样式的元素,由于级联性质

(来自::http://webdesign.about.com/od/css/f/blcssfaqcascade.htm)层叠样式表(CSS),其是这样的

有三种不同类型的样式表:

  1. 作者样式表这是由Web页面的作者创建的样式表。他们是大多数人想到CSS样式表时所想到的。

  2. 用户样式表用户样式表由网页的用户设置。这些允许用户更好地控制页面的显示方式。

  3. 用户代理样式表这些是Web浏览器应用于页面以帮助显示该页面的样式。例如,在XHTML中,大多数可视用户代理将<em>标签显示为斜体文本。这是在用户代理样式表中定义的。

要解决冲突,Web浏览器使用下面的排列顺序来 确定哪一种风格的优先级,将用于:

  1. 首先,寻找适用于有问题的元素的所有声明,并为分配的媒体类型。

  2. 然后看看它来自哪种样式表。如上所述,作者样式表先出现,然后是用户,然后是用户代理。使用!重要的用户样式比作者!重要的样式具有更高的优先级。选择器越具体,它将获得的优先级越高。例如,“div.co p”上的样式优先于“p”标签上的样式。

  3. 最后,按照它们定义的顺序对规则进行排序。稍后在文档树中定义的规则优先于先前定义的规则。导入样式表中的规则在样式表中直接在规则之前考虑。

+1

哦,哇,谢谢你,这工作。 不知何故,这是一种尴尬,这是我的问题所有的时间xD 非常感谢!:) – morxw 2014-11-14 18:54:52

+0

非常欢迎您。祝你好运! – 2014-11-14 18:57:52