0

単純なjQuerydatepickerをフォームに追加しましたが、複雑なものは何もありません。

何らかの理由で、IE9(IE8をテスト済み)では、たまにしか表示されません。ページを更新し続けると、表示される場合と表示されない場合があります。

このページはhttp://hotel.danielblackmore.co.ukです(右上隅にある空室状況チェッカーです。

取り除いて再度追加したなどですが、まだたまにしか表示されていません。

DatepickerはjqueryWebサイトで正常に表示されるので、私が行ったことは確かですが、これを解決することはできません。

誰かがこれを以前に経験したことがありますか?

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

    <script src="java/jquery.min.js" type="text/javascript"></script>
    <script src="java/jquery-ui.min.js" type="text/javascript"></script>
    <link rel="stylesheet" href="styles/jquery-ui.css" type="text/css" media="all" />
    <link rel="stylesheet" href="styles/ui.theme.css" type="text/css" media="all" />
    <link rel="stylesheet" href="styles/styles.css" type="text/css" media="all" />

    <script type="text/javascript">

        var $myBadDates = new Array                ("09/05/2011","13/09/2012","12/09/2012","26/09/2012","27/09/2012","15/05/2020");

        function checkBadDates(mydate){
        var $return=true;
        var $returnclass ="available";
        $checkdate = $.datepicker.formatDate('dd/mm/yy', mydate);
        for(var i = 0; i < $myBadDates.length; i++)
            {    
               if($myBadDates[i] == $checkdate)
          {
                $return = false;
                $returnclass= "unavailable";
                }
            }
        return [$return,$returnclass];
        }

        $(function() {
            $( "#arriving" ).datepicker({
                showOn: "button",
                buttonImage: "images/calendar.gif",
                buttonImageOnly: true,
                dateFormat: "dd/mm/yy",
                minDate: new Date(2012, 9 - 1, 9),
                beforeShowDay: checkBadDates,

            });

            $( "#departing" ).datepicker({
                showOn: "button",
                buttonImage: "images/calendar.gif",
                buttonImageOnly: true,
                dateFormat: "dd/mm/yy",
                minDate: new Date(2012, 9 - 1, 9),
                beforeShowDay: checkBadDates,

            });
        });
        </script>

障害者の日機能も使わずに試しましたが、運がありません

よろしく

4

1 に答える 1

0

おそらく問題は、DOM が読み込まれる前にスクリプトが実行され、実行されようとしていることです。(これは、ランダムに動作する場合とそうでない場合がある理由も説明します。) Javascript コードを$(document).ready(function() { ... });ブロック内に配置します。

さらに良いのは、スクリプト ブロックをドキュメントの最後に移動することです。スクリプトの読み込み中にドキュメントの残りの部分を読み込んで表示できるため、これが最善の方法です。

于 2012-09-09T09:28:25.083 に答える