1

ページに div があり、JavaScript を使用して、ユーザーがテキスト フィールドをクリックするまで非表示にしています。それはdivにフェードインします。私が抱えている問題は、ページの読み込み中に div がページ上ですばやく点滅してから非表示になることです。デフォルトでdivを非表示に設定し、ユーザーがテキスト領域をクリックするとdivが表示されるようにする方法はありますか? 現時点では、ページが読み込まれてから非表示になるまでの短い間点滅します。

CSS スタイルを入れてみましたdisplay:none;が、これは div がまったくフェードインしないことを意味します。

<script>
$(".search_prompt").hide();
$(function() {
    $(".search_prompt").hide();
    var focusin_flag = false,
    focusout_flag = false;
    $("#text").focusin(function() {
        if (!focusin_flag) {
            $(".search_prompt").show();
            focusin_flag = true;
        }
    }).focusout(function () {
        if (!focusout_flag ) {
            $(".search_prompt").hide();
            focusout_flag = true;
        } 
        function timeout_init() {
            setTimeout('search_prompt()', 2000);

        }

    });
});        
</script>

これが私のCSSです:

.search_intro {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #181469;
  background-image: url(../img/icons/info-icon.png);
  background-repeat: no-repeat;
  background-position: 12px center;
  border: #CCC 1px solid;
  margin-top: 87px;
  margin-left:460px;
  position: absolute;
  width:198px;
  height:80px;
  background-color:#FFF;
  -moz-box-shadow: 0px 1px 8px #CCC;
  -webkit-box-shadow: 0px 1px 8px #CCC;
  box-shadow: 0px 1px 8px #030303;
  z-index:100;
  display:none;
}
4

2 に答える 2

4

外部の .css がまだロードされていないため、おそらく点滅しています。インライン css で非表示にしてみてください:

<div style="display: none">...</div>

そのため、残りの CSS が読み込まれている間は、最終的には表示されません。

于 2013-02-16T08:42:13.787 に答える