JQuery - div 褪色问题
我有 div,它的 id 为“content”。这是可见的。
<div id="wrapper" style="display:block">
<div id="content">
Some text
</div>
</div>
现在我想淡出它:
$('#wrapper').fadeIn( 1500 );
$('#content').click(function(){
$(this).fadeOut( 1500 );
});
什么也没有发生。 但当我写道:
$('#content').fadeIn( 1500 );
它隐藏然后再次显示。
这是 css
#content
{
height: 100%;
width: 100%;
}
浏览器:Linux Gentoo 下的 Firefox 3.5.3
upd
当我输入代码时:
$('#content').hide();
它正确隐藏。
upd
我已经解决了问题...我不明白,为什么会这样...只是用 jquery 替换了 jquery.min
I have div, which has id 'content'. It's visible.
<div id="wrapper" style="display:block">
<div id="content">
Some text
</div>
</div>
Now I want to fade it out:
$('#wrapper').fadeIn( 1500 );
$('#content').click(function(){
$(this).fadeOut( 1500 );
});
And nothing happens.
But when I wrote:
$('#content').fadeIn( 1500 );
It hides and then shows again.
Here is css
#content
{
height: 100%;
width: 100%;
}
Browser: Firefox 3.5.3 under Linux Gentoo
upd
When I type code:
$('#content').hide();
It hides correctly.
upd
I've solved problem... I can't understand, why did it was... Just replaced jquery.min with jquery
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。原文
发布评论
评论(4)
如果我理解你的问题,你有两个问题:内容不淡入,当你点击它时,内容不淡出。
这两个问题可能是由于您的脚本在包装器和内容 div 出现在文档中之前执行而引起的。如果您的
标记位于文档的
中,则
$('#wrapper')
不会找到任何要淡入的内容,并且$('#content')
找不到任何可以附加点击处理程序的内容。最好的解决方案可能是使用
ready
推迟执行任何操作,直到文档加载完毕:或者,您可以将
标记放在 之后 正文中的
当您解决此问题时,内容将淡入,但不会平滑,因为包装 div 最初是可见的 - 您在包装 div 上有
style="display:block"
。您需要改为display: none;
,以便在页面加载时隐藏包装器 div。这是一个完整的有效文件:
If I understand your question, you have two problems: the content doesn't fade in, and when you click it, the content doesn't fade out.
Both problems are probably caused by your script executing before the wrapper and content divs have appeared in the document. If your
<script>
tag is in the<head>
of your document, then$('#wrapper')
won't find anything to fade in and$('#content')
won't find anything to attach a click handler to.The best solution is probably to defer doing anything until the document is loaded, by using
ready
:Alternatively you could put your
<script>
tag after the<div>
tags in the body.When you fix this problem the content will fade in, but it won't be smooth because the wrapper div is initially visible—you have
style="display:block"
on the wrapper div. You need to make thatdisplay: none;
instead so that the wrapper div is hidden while the page is loading.Here is a complete file which works:
它对我有用,OSX 上的 Firefox。确保您的 ID 是唯一的,如果您有重复的 ID,则可能无法正常工作。另外,您的 style: block 是多余的,div 默认情况下是块。
It works for me, firefox on OSX. Make sure that your id's are unique, if you have a duplicate it might not work right. Also, your style: block is redundant, divs are blocks by default.
您已在 fadeOut 中写入 $('#content') 并在 fadeIn 中写入 $('#conent') 。除此之外,效果的调用方式完全相同,并且没有解释为什么它们不能按预期工作。
You have wrote $('#content') in the fadeOut and $('#conent') in the fadeIn. Other that this the effects are being called exactly the same way and offer no explanation as to why they wouldn't both be working as expected.
您还在“#wrapper”(jQuery 第 1 行)中留下了 #。
You are also leaving a # out in "#wrapper" (line 1 of jQuery).
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!