0

Web サイト用のチャット ボックスを開発しようとしています。

<div class="chat_box1">
<div id="chat_box_bar">
    <p>(SOME PHP CODE HERE)</p>
        <p id="close_chat" onclick="close_chat_box(1)">X</p>

</div>
</div>

表示を「なし」に設定して、テキストをクリックしたときにのみ「ブロック」に変更できるかどうか疑問に思っていました。として:

<li onclick='display_chat_box(chat_box_number(),"kamal@kamal.com")'>KAMAL</li>

JavaScript 関数:

function display_chat_box(y,email)
{
   switch (y)
   {
        case 1:
        {
           alert("hi");
           document.getElementsByClass("chat_box1")[0].style.display="block";
        }
        case 2:
        {
           document.getElementsByClass("chat_box2")[0].style.display="block";
        }
        case 3:
        {
           document.getElementsByClass("chat_box3")[0].style.display="block";
        }
    }
}

スコープ内のコードが機能するかどうかを確認するために、最初のケースにアラート コードを挿入しました。Web ページを実行すると、アラート ボックスが表示されます。

問題: 表示プロパティが「なし」から「ブロック」に変更されません。理由はわかりませんが、以前に使用していた別の PC で何とか動作しました。

変数 'y' は、次の関数から値を取得します。

function chat_box_number()
{
    if(n==3)
        n=0;
    n++;
    return n;
}

CSSコードは次のとおりです。

.chat_box1,.chat_box2,.chat_box3
{
   display: none;
   width: 20%;
   position: fixed;
   bottom:0;
   margin-right: 10px;
   border-style: solid;
   border-width: thin;
   height:30%;
   font-family: comic sans ms;
   font-size: 12px;
}

助けてください。

4

2 に答える 2

0

今まで気づきませんでしたが、あなたの switch ステートメントは有効な JavaScript ではないと思います

ケースを書くときは、次のようにする必要があります。

case 1:
   whatever_you_want_to_do();
   break;

それ以外の

case 1:
{
   whatever_you_want_to_do();
}

そして、使用する正しい機能はそうではありgetElementsByClassNameませんgetElementsByClass

于 2013-03-26T07:24:43.707 に答える
-1

設定したら…?

whatever.style.display="block !important";
于 2013-03-26T07:18:01.783 に答える