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

残念ながら、要素に割り当てることができるクリック機能は 1 つだけです。

それを機能させるには、スタックされた関数を新しい関数に入れ、それを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 に答える