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