0

我已经尝试了很多东西,但似乎没有任何效果。

我想隐藏<div id="disqus_thread">,并在单击链接“评论”时显示它,当评论加载时(链接在我文章的底部:“ commentaires ”,在我的博客上)。

我有一个与 的链接onclick,但我无法添加其他操作。

我怎么能设法让这两个动作都在点击时触发?

CSS:

#disqus_thread {display:none; margin-top: -40px; background: #fff;
background: #fff;
padding:20px;
border: 1px solid #ddd;}

我尝试使用 css 隐藏 div,但我不知道如何显示它。


HTML:

<li class='commenting'>
  <span class=''>
    <a class='' expr:href='data:post.addCommentUrl' onclick='$.ajaxSetup({cache:true});$.getScript(&quot;http://julienlussiez.disqus.com/embed.js&quot;);$.ajaxSetup({cache:false});$(&quot;#disqus_loader&quot;).remove();' title='Laisser un commentaire'>Commentaires</a>
  </span>
</li>

有一个onclick功能,但我不能添加任何东西。
它是不正确的,或者更确切地说,写得不好?


脚本:

<script>
    function load_disqus()
    {
      var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
      dsq.src = "http://julienlussiez.disqus.com/embed.js";
      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
      var ldr = document.getElementById('disqus_loader');
      ldr.parentNode.removeChild(ldr);
    }
</script>



<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
    $.Ajaxify.pageChange(function() {

        var disqus_shortname = 'julienlussiez';
        // required: replace example with your forum shortname

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (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);
    })();});
</script>
<a name="bottom"></a>

此脚本从 disqus 加载评论而不会中断。这很好,因为我的博客上有一个音乐播放器。

4

1 回答 1

3

不幸的是,您只能为元素分配一键式功能。

为了让它工作,试着把你的函数堆叠成一个新函数,然后onclick通过 javascript 将它分配给:

HTML:

<div id='test'></div>

JS:

var div = document.getElementById('test');

div.onclick = function () { alert("some function") };

// hides the div
div.onclick = stackFunction(div.onclick, function () { 
    div.style.display = "none"; 
});

function stackFunction(last, f) {
    return function () { last(); f(); };
}

小提琴

于 2013-03-21T18:29:42.570 回答