【发布时间】:2015-05-11 00:29:56
【问题描述】:
我想将鼠标悬停在一个元素上并让它从那个悬停事件中为两个元素设置动画,但是我的 jQuery 代码有问题。
(我以 Drupal 视图为主题,但我将其发布在常规 Stack Exchange 而不是 Drupal 答案上,因为我认为问题更可能是我的 jQuery 编码而不是 Drupal)
页面设置的背景:
- 两张图片是 CSS 放置在彼此之上,一张“预告”图片和一张“展示”图片。
- 标题也是位于图像顶部的 CSS,具有更高的 z-index,因此它始终显示在顶部。
- 标题和两个图像都位于一个外部 div 容器中,其类为 .views-row
这是我想要达到的目标:
- 当我将鼠标悬停在“预告片”图像上时,它会进行动画处理,使其逐渐消失为 opacity=0,从而显示“显示”图像。
- 基于预告图上的相同悬停事件,我想更改“标题”div 的背景的 CSS。
目前正在发生的事情:
- 图像不透明度更改按预期进行。
- 但是,“标题”div 上的背景没有改变
脚本如下:
(function ($) {
$(document).ready(function(){
var $container = $(".views-row");
$container.find(".views-field-field-teaser-image").hover(
function() {
$(this).stop().animate({"opacity": "0", "-ms-filter": "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"},1000);
$container.find(".views-field-title").stop().animate({"background": "rgba(0,0,0,0.4)"},400)}
function() {
$(this).stop().animate({"opacity": "1", "-ms-filter": "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"},1000)
$container.find(".views-field-title").stop().animate({"background": "rgba(0,0,0,0)"},400)}
);
});
})(jQuery);
【问题讨论】:
标签: jquery jquery-animate