Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
Jquery 在移除隐藏元素的css后为元素设置动画_Jquery - Fatal编程技术网

Jquery 在移除隐藏元素的css后为元素设置动画

Jquery 在移除隐藏元素的css后为元素设置动画,jquery,Jquery,我似乎遗漏了一些东西,所以如果有人能向我解释引擎盖下正在进行的过程,我将不胜感激 我试图实现的是在删除隐藏该特定元素内容的元素上的CSS后获得jQuery提供的效果 我制作了一把小提琴来解释/展示更多我想做的事情: 再一次,我想知道我所做的工作不起作用的内在原因。我肯定这和我大脑的大小有关,但我们还是友好一点 编辑------ 内联样式是从服务器呈现HTML的方式。不幸的是,我无法控制它。.slideDown()将获取一个不可见的元素,并通过动画使其可见。如果首先删除使其不可见的样式,则它将立

我似乎遗漏了一些东西,所以如果有人能向我解释引擎盖下正在进行的过程,我将不胜感激

我试图实现的是在删除隐藏该特定元素内容的元素上的CSS后获得jQuery提供的效果

我制作了一把小提琴来解释/展示更多我想做的事情:

再一次,我想知道我所做的工作不起作用的内在原因。我肯定这和我大脑的大小有关,但我们还是友好一点

编辑------ 内联样式是从服务器呈现HTML的方式。不幸的是,我无法控制它。

.slideDown()
将获取一个不可见的元素,并通过动画使其可见。如果首先删除使其不可见的样式,则它将立即显示。一旦它可见,
。slideDown()
将不起任何作用

所以问题是,为什么要首先删除样式?为什么有一个内联样式集

如果您需要覆盖内联样式(出于某种原因,不能将其从源HTML中删除),则可以在加载文档时执行此操作:

$(function() {
    $(".some-text").css("display","none");
});
现在,您的向下滑动将起作用,您不需要删除任何类。使用
.css
设置样式时,它将覆盖任何内联样式

编辑:这里有一把小提琴来演示:

注意,我将您的div包装在另一个div中,这样您就可以看到它在显示时实际显示为block。如果更改
.css(“显示”、“无”)
.hide()
您将保留内联显示,但它不能再向下滑动,只会出现。

.slideDown()
将获取不可见的元素,并通过动画使其可见。如果首先删除使其不可见的样式,则它将立即显示。一旦它可见,
。slideDown()
将不起任何作用

所以问题是,为什么要首先删除样式?为什么有一个内联样式集

如果您需要覆盖内联样式(出于某种原因,不能将其从源HTML中删除),则可以在加载文档时执行此操作:

$(function() {
    $(".some-text").css("display","none");
});
现在,您的向下滑动将起作用,您不需要删除任何类。使用
.css
设置样式时,它将覆盖任何内联样式

编辑:这里有一把小提琴来演示:


注意,我将您的div包装在另一个div中,这样您就可以看到它在显示时实际显示为block。如果更改
.css(“显示”、“无”)
.hide()
您将保留内联显示,但它不能再向下滑动,它将只显示。

您应该在CSS文件中保留所有CSS,而不使用任何内联样式,而且您也不应该需要使用
!重要信息
在CSS中


也就是说,在向下滑动之前,不需要删除
no display
slideDown
将在向下滑动元素后将
display:block
添加到元素中(如果需要,您可以在回调中删除该类)。

您应该在CSS文件中保留所有CSS,而不使用任何内联样式,而且您永远不需要使用
!重要信息
在CSS中


也就是说,在向下滑动之前,不需要删除
no display
slideDown
将在向下滑动元素后向元素添加
display:block
(如果需要,可以在回调中删除该类)。

这个问题已经有了很好的答案,但我还是做了一个修改。希望能有帮助。我更改了您的演示,因此您不必使用内联样式。阅读更多关于这方面的内容

//jQuery
$('#clickme')。单击(函数(){
$('.some text').slideDown('slow',function(){
//幻灯片已完成,如果需要,可以在此处进行更多操作
});
});
更多信息
驾驶室开始滑行
/*CSS*/
.一些文本{高度:20px;显示:无;}

这个问题已经有了很好的答案,但我还是做了一个选择。希望能有帮助。我更改了您的演示,因此您不必使用内联样式。阅读更多关于这方面的内容

//jQuery
$('#clickme')。单击(函数(){
$('.some text').slideDown('slow',function(){
//幻灯片已完成,如果需要,可以在此处进行更多操作
});
});
更多信息
驾驶室开始滑行
/*CSS*/
.一些文本{高度:20px;显示:无;}

为什么HTML中有
display:inline
display:none!重要信息
在您的CSS中?很抱歉没有在帖子中解释这一点。HTML是从控件(.net aspx)呈现的,我无法更改。为什么HTML中有
display:inline
,而
display:none!重要信息
在您的CSS中?很抱歉没有在帖子中解释这一点。HTML是从控件(.net aspx)呈现的,我无法更改。是的,但问题是
slideDown
不会覆盖
!重要信息
在他们的CSS中。但正如您所说,他们需要做的只是删除内联样式。@MattBurland:和
!重要信息
:-p查看我关于内联样式使用的更新。这完全不是我的错,解决方案中必须包含内联样式。@iOnline247:在div出现后,内联样式必须保留在那里吗?正如我在下面提到的,如果是这种情况,那么你就不能使用
。slideDown
@MattBurland内联样式不必停留在那里,所以你的答案会很好。是的,但问题是
slideDown
不会覆盖
!重要信息
在他们的CSS中。但正如您所说,他们需要做的只是删除内联样式。@MattBurland:和
!重要信息
:-p查看我关于内联样式使用的更新。这完全不是我的错,解决方案中必须有内联样式