我有一个div,里面有一个段落。我想使用jquery只显示段落然后div在视口内 - 为此我使用的是插件。但是,因为段落最初是隐藏的 - 'mydiv'的高度为0且插件未找到,因此该函数永远不会被执行。有人建议解决这个问题吗?
<div class = "mydiv">
<p> Hide this content </p>
</div>
.mydiv p { display:none; }
//JQuery plugin
if $(".mydiv").on('inview',function(event,isInView){
p.show();
}
答案 0 :(得分:0)
你的jQuery选择器没有按高度查找dom元素完全不关心高度。您可以通过css覆盖高度(&#34; height&#34;,&#34; 10px&#34;)。
jQuery show大致相当于调用.css(&#34; display&#34;,&#34; block&#34;),除了显示属性恢复到最初的状态。
jQuery hide大致相当于调用.css(&#34; display&#34;,&#34; none&#34;),除了显示属性的值保存在jQuery的数据缓存中以便稍后可以将显示恢复到其初始值。如果元素的显示值为内联并隐藏然后显示,则它将再次以内联方式显示。
您的代码也不正确。我想它应该是这样的,不知道目的是什么:
$(".mydiv").on('inview',function(event,isInView) {
p.show();
}); // Do not use if statement