更新: 私のスレッドが多くのユーザーに誤解されて申し訳ありません。もっと明確にしようと思います。私は Drupal を使用しており、3 つのフローティング バナーを作成しました。フロントページには、1 つのフローティング バナーを表示するブロック (block1) があり、更新後に 2 番目のバナーが表示され、3 番目のバナーも表示されます。前に書いたように、これらのバナーにはオーバーフローを止めるための小さな X ボタンがあります。このスクリプトをバナーの 1 つに配置しましたが、うまく機能しています。
<script language="javascript">
function doexpand() {
document.getElementById("block1").style.overflow = "visible";
}
function dolittle() {
document.getElementById("block1").style.overflow = "hidden";
}
</script>
本当の問題は、カテゴリ ページに #block2 があり、記事に #block3 があることです。これらのブロックは同じバナーを表示しています。コード オーバーは 1 つの ID に対してのみ機能します。この場合、#block1. document.getElementById は、他のトピックから読んだように、より多くの ID に対して機能しません。
次のような 2 つのブロック ID を使用して jQuery を試しました。
(function ($) {
function doexpand() {
$("#block1,#block2").css("overflow","visible");
}
function dolittle() {
$("#block1,#block2").css("overflow","hidden");
}
})(jQuery);
動いていない。firebug/コンソールの表示: ReferenceError: doexpand が定義されていません。
次のようなjQueryでも単一のブロックで試しました:
(function ($) {
function doexpand() {
$("#block1").css("overflow","visible");
}
function dolittle() {
$("#block1").css("overflow","hidden");
}
})(jQuery);
同じエラーが表示されます。
注: Drupal には別のラッピングがあり、次のようになります。
(function ($) {
//your existing code
})(jQuery);