1

私のWebサイトには、ユーザーがドロップダウンボックスからオーディオを選択できる機能があり、その$.post機能が呼び出されると、オーディオプレーヤーでdivを出力します(自動開始)。私が抱えている問題は、ユーザーにそのオーディオ プレーヤーを見せたくないということです。オーディオ プレーヤーを使用すると.hide();、Firefox では動作しませんが、他のブラウザーでは動作します。オーディオ プレーヤーの幅を 0px に設定すると、サファリでは機能しません。CSSでdivをフォーマットしてみました

#sound { width:0px; height:0px; }しかし、影響はありません (はい、名前は正しいです)。したがって、すべてのブラウザーで動作する div を非表示にする代替手段はありますか。ところで、オーディオ プレーヤーはフラッシュ SWF ファイルです。

4

6 に答える 6

6
$('#sound').css({position: 'absolute', width: '1px', height: '1px', left: '-999px', top: '-999px'});

また

$('#sound').css('opacity', 0);

どちらもハックですが、

いくつかのコメントの後に追加します(彼のために機能するかどうかはまだわかりません):

$('#sound').css({position: 'absolute', width: '1px', height: '1px', overflow: 'hidden'}).find('embed, object').css('margin-left', '1px'); 
于 2012-08-12T18:55:36.017 に答える
2

またはの CSS プロパティを使用しようとしませんでしたdisplay:none;visibility:hidden;。ブラウザ検出でこれらのプロパティを設定することもできます。

于 2012-08-12T18:55:07.150 に答える
1

これを試して:

$('#sound').css('visibility', 'hidden').hide();
于 2012-08-12T18:54:44.530 に答える
1

試してみるopacity:0;visibility:hidden;

于 2012-08-12T18:55:07.140 に答える
1

Flash ムービーを非表示にすると、ほとんどのブラウザは、初期化する必要がないことを十分に認識できます。

そのため、幅と高さを非常に小さくし、埋め込み時に wmode パラメータを透明または不透明に設定し (その上に HTML 要素を配置できるようにします)、フラッシュ ムービーの上に白い div を配置することができます。フラッシュの上に html 要素を配置してカバーしても、非表示とは見なされません。それほどスマートなブラウザーはありませまだ:-)

于 2012-08-12T18:55:14.030 に答える
1

#sound はオーディオ プレーヤーそのものですか、それともラッパーですか? ラッピング div を非表示にするとうまくいくと思います。

于 2012-08-12T18:57:39.950 に答える