0

低解像度の画面で非表示にしたい「フィードバックウィジェット」があります。私の問題は、直後に次のコードを挿入していて、<body>何を試してもreformal_tab要素を非表示にできないことです

<a id="reformal_tab" href="http://domain.com" onclick="Reformal.widgetOpen();return false;" onmouseover="Reformal.widgetPreload();" onmouseout="Reformal.widgetAbortPreload();"><img alt="" src="domain.com/tab.png"></a>

私が試したこと

<script>
        $('reformal_tab').hide();
        $('#reformal_tab').hide();
</script>

http://reformal.ru/に役立つ場合、これは実際のウィジェットです

コード:

<script type="text/javascript">
$(function() {
    $('#reformal_tab').hide();
});

    var reformalOptions = {
        project_id: 93459,
        project_host: "domain.com",
        tab_orientation: "left",
        tab_indent: "50%",
        tab_bg_color: "#F05A00",
        tab_border_color: "#FFFFFF",
        tab_border_width: 2
    };

    (function() {
        var script = document.createElement('script');
        script.type = 'text/javascript'; script.async = true;
        script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'media.reformal.ru/widgets/v3/reformal.js';
        document.getElementsByTagName('head')[0].appendChild(script);
    })();
</script>

ここでライブを見ることができます http://jsfiddle.net/PQsQq/2/

4

3 に答える 3

3

2 番目の呼び出しが有効です。#要素をidで参照します。

$('#reformal_tab').hide();

また、ドキュメントの準備ができたら呼び出す必要があります。

$(function() {
    $('#reformal_tab').hide();
});

挿入するときに非表示にして、高解像度の画面で表示できるようにしてみませんか?

<a id="reformal_tab" style="display:none;" href="http://domain.com" ...

次に、スクリプトのどこかで..

if(highResolution) {
  $("#reformal_tab").show();
}
于 2013-03-28T00:14:57.450 に答える
0

要素が JavaScript で挿入されている場合、おそらく DOM の準備が整った後に動的に挿入されます。解決策はかなり単純です。CSS で次のようにします。

#reformal_tab {display: none;}
于 2013-03-28T00:25:42.290 に答える
0

なぜそれを削除しないのですか?

$('#reformal_tab').remove();
于 2013-03-28T00:15:20.617 に答える