Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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 显示/隐藏取消搜索按钮don';无法正确使用firefox_Javascript_Html_Css_Firefox_Disqus - Fatal编程技术网

Javascript 显示/隐藏取消搜索按钮don';无法正确使用firefox

Javascript 显示/隐藏取消搜索按钮don';无法正确使用firefox,javascript,html,css,firefox,disqus,Javascript,Html,Css,Firefox,Disqus,我在我的网站上使用disqs,并且添加了一个buton来显示/隐藏评论。该按钮在Chrome、Opera(我猜还有IE)上运行良好,但在Firefox上却失败了 它失败是因为当我点击按钮时,我没有显示带有注释的div。这个部门似乎没有大小。如果我更改窗口浏览器大小…\°/ 我看到评论了!为什么? <p id="commentsButton"> <button id="buttonComment" onclick="toggleComments()">

我在我的网站上使用disqs,并且添加了一个buton来显示/隐藏评论。该按钮在Chrome、Opera(我猜还有IE)上运行良好,但在Firefox上却失败了

它失败是因为当我点击按钮时,我没有显示带有注释的div。这个部门似乎没有大小。如果我更改窗口浏览器大小…\°/ 我看到评论了!为什么?

<p id="commentsButton">
    <button id="buttonComment" onclick="toggleComments()">
        Commentaires</button>  
</p>
<script type="text/javascript">    
    function toggleComments(){
         if (document.getElementById("comments").style.display == "none"){           
            document.getElementById("comments").style.display="inline";
         } else {          
            document.getElementById("comments").style.display="none";
         }
     }  
</script>
我能做什么呢?

当在隐藏元素中加载discus时,Firefox(和一些IE版本)会有奇怪的行为。您可以通过在
toggleComments()
函数中包装disqs嵌入代码来解决此问题,以便在该元素可见时加载

但是,请确保将配置变量(如
discus\u shortname
)保留在函数之外。总之,它可以看起来像这样:

<script type="text/javascript">    
var disqus_shortname='YOUR_SHORTNAME';

function toggleComments(){
    if (document.getElementById("comments").style.display == "none"){           
        document.getElementById("comments").style.display="inline";

        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        } 
        else {          
            document.getElementById("comments").style.display="none";
        }
    }
}   
</script>

var discus_shortname='YOUR_shortname';
函数toggleComments(){
if(document.getElementById(“comments”).style.display==“none”){
document.getElementById(“comments”).style.display=“inline”;
(功能(){
var dsq=document.createElement('script');dsq.type='text/javascript';dsq.async=true;
dsq.src='/'+discus_shortname+'.discus.com/embed.js';
(document.getElementsByTagName('head')[0]| | document.getElementsByTagName('body')[0]).appendChild(dsq);
} 
否则{
document.getElementById(“注释”).style.display=“无”;
}
}
}   
不适用于我:-(我添加”);“before}但没有附加任何内容。您可以说“disqs loaded in hidden element”。我加载带有“comments inline”的页面,在页面结束之前,我调用“toggleComments”立即隐藏comments div…
<script type="text/javascript">    
var disqus_shortname='YOUR_SHORTNAME';

function toggleComments(){
    if (document.getElementById("comments").style.display == "none"){           
        document.getElementById("comments").style.display="inline";

        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        } 
        else {          
            document.getElementById("comments").style.display="none";
        }
    }
}   
</script>