Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 如何在已设置动画的父幻灯片移动到视口中而不使用滚动时设置嵌套内容的动画_Javascript_Jquery_Html_Css_Animation - Fatal编程技术网

Javascript 如何在已设置动画的父幻灯片移动到视口中而不使用滚动时设置嵌套内容的动画

Javascript 如何在已设置动画的父幻灯片移动到视口中而不使用滚动时设置嵌套内容的动画,javascript,jquery,html,css,animation,Javascript,Jquery,Html,Css,Animation,我希望在父幻灯片移动到视口中时,使用javascript为父幻灯片中嵌套DIV的内容设置动画 目前,嵌套DIV中的内容仅在父幻灯片移动到屏幕上后触发滚动命令时才动画。我相信这是因为幻灯片运动是动画的,而不是滚动控制的 同样的问题也出现在我为探索这个问题而创建的JSFIDLE演示中: (在本演示中,幻灯片从右向左的动画移动是为了测试此问题,在不滚动的情况下复制幻灯片的运动;它实际上不是开发本身的功能) 我的问题是,当每个幻灯片元素移动到视口中时,如何编写脚本以触发每个嵌套DIV的动画,而不需要滚

我希望在父幻灯片移动到视口中时,使用javascript为父幻灯片中嵌套DIV的内容设置动画

目前,嵌套DIV中的内容仅在父幻灯片移动到屏幕上后触发滚动命令时才动画。我相信这是因为幻灯片运动是动画的,而不是滚动控制的

同样的问题也出现在我为探索这个问题而创建的JSFIDLE演示中:

(在本演示中,幻灯片从右向左的动画移动是为了测试此问题,在不滚动的情况下复制幻灯片的运动;它实际上不是开发本身的功能)

我的问题是,当每个幻灯片元素移动到视口中时,如何编写脚本以触发每个嵌套DIV的动画,而不需要滚动功能

谢谢你的帮助。下面是我用来控制不透明度和其他CSS样式的脚本

$(文档).ready(函数(){
/*每次滚动窗口时*/
$(窗口)。滚动(函数(){
/*显示隐藏的_头延迟*/
$('.hidden_header')。每个(函数(i){
var center_of_object=$(this).offset().left+$(this).outerWidth();
var center_of_window=$(window.scrollLeft()+$(window.width());
/*如果对象在窗口中完全可见,请将其淡入淡出*/
if(窗口的中心>对象的中心){
$(此)。设置动画({
“不透明度”:“1”
}, 500);
$(此)。设置动画({
“右”:“0”
}, 1500);
}
});
/*显示隐藏的内容延迟*/
$('.hidden_content')。每个(函数(i){
var center_of_object=$(this).offset().left+$(this).outerWidth();
var center_of_window=$(window.scrollLeft()+$(window.width());
/*如果对象在窗口中完全可见,请将其淡入淡出*/
if(窗口的中心>对象的中心){
$(此)。设置动画({
“不透明度”:“1”
}, 3000);
$(此)。设置动画({
“底部”:“0”
}, 3500);
}
});
/*显示按钮延迟*/
$('.button')。每个(函数(i){
var center_of_object=$(this).offset().left+$(this).outerWidth();
var center_of_window=$(window.scrollLeft()+$(window.width());
/*如果对象在窗口中完全可见,请将其淡入淡出*/
if(窗口的中心>对象的中心){
$(此)。设置动画({
“不透明度”:“1”
}, 5000);
}
});
});

});如果幻灯片运动完全设置了动画(而不是像链接的JSFIDLE中那样增量),那么jQuery为您提供了在动画完成后执行动作的能力

查看可用于动画功能的选项。其中一个叫做done。可以为“完成”选项指定一个函数,动画完成后将调用该函数

以一个动画为例,语法可能如下所示:

    $(this).animate({
              'opacity': '1'
            }, {duration: 3000, done: function () {
                 //animate some stuff here
    }};
请注意,我刚刚从代码中随机选取了一个动画。我不确定您希望在什么时候执行内容的动画,但是您可以在使用jQuery动画的任何地方使用此技术


我以前用它来控制幻灯片格式的嵌套动画,效果非常好!我希望这是您想要的。

如果您的幻灯片运动已完全设置动画(而不是像您链接的JSFIDLE中那样是增量的),那么jQuery为您提供了在动画完成后执行动作的能力

查看可用于动画功能的选项。其中一个叫做done。可以为“完成”选项指定一个函数,动画完成后将调用该函数

以一个动画为例,语法可能如下所示:

    $(this).animate({
              'opacity': '1'
            }, {duration: 3000, done: function () {
                 //animate some stuff here
    }};
请注意,我刚刚从代码中随机选取了一个动画。我不确定您希望在什么时候执行内容的动画,但是您可以在使用jQuery动画的任何地方使用此技术


我以前用它来控制幻灯片格式的嵌套动画,效果非常好!我希望这是您想要的。

当然,这是最优雅的解决方案!很好,谢谢你的帮助!:当然,这是最优雅的解决方案!很好,谢谢你的帮助!:D