Пример jQueryui Timespinner дает неопределенную ошибку

Я получил это из примера кода для таймспинера по адресу http://jqueryui.com/spinner/. Я не могу заставить его работать.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Spinner - Time</title>
<script src="/jquery-2.1.0.min.js"></script>
<script src="/jquery-ui-1.11.2/jquery-ui.min.js"></script>
<script src="/resources/jquery-mousewheel-master/jquery.mousewheel.js"></script>
<script src="/resources/globalize-1.0.0-alpha.10/dist/globalize.js"></script>

<script>
    $.widget( "ui.timespinner", $.ui.spinner, {
            options: { step: 60 * 1000, page: 60 },

            _parse: function( value ) {
                    if ( typeof value === "string" ) {
                            if ( Number( value ) == value ) {
                                    return Number( value );
                            }
                            return +Globalize.parseDate( value );
                    }
                    return value;
            },
            _format: function( value ) {
                    return Globalize.format( new Date(value), "t" );
            }
    });

    $(function() {
            $( "#spinner" ).timespinner();
            $( "#culture" ).change(function() {
                    var current = $( "#spinner" ).timespinner( "value" );
                    Globalize.culture( $(this).val() );
                    $( "#spinner" ).timespinner( "value", current );
            });
    });
</script>
</head>
<body>

<p> <label for="spinner">Time spinner:</label> <input id="spinner" name="spinner" value="08:30 PM"> </p>
<p>
<label for="culture">Select a culture to use for formatting:</label>
<select id="culture">
<option value="en-EN" selected="selected">English</option>
<option value="de-DE">German</option>
</select>
</p>

<div class="demo-description">
<p>
A custom widget extending spinner. Use the Globalization plugin to parse and output
a timestamp, with custom step and page options. Cursor up/down spins minutes, page up/down
spins hours.
</p>
</div>
</body>
</html>

В Chrome я получаю: Uncaught TypeError: undefined не является функцией

В Firefox я получаю: TypeError: Globalize.parsedate не является функцией

Оба на линии, return +Globalize.parseDate( value );,

Все местоположения сценариев в тегах сценариев являются правильными. Я не получаю никакой другой ошибки. Стрелки вверх / вниз для счетчика отсутствуют.

Я пропускаю сценарий?

2 ответа

Решение

Прежде всего, ваш сценарий никогда не должен быть в вашей голове. Вы всегда должны загружать его ниже вашей dom, потому что загрузка скрипта блокирует рендеринг страницы. См. https://developers.google.com/speed/docs/insights/BlockingJS для получения дополнительной информации об этом. Я скопировал твой код как мог, и у меня не было проблем. Я бы предложил посмотреть на ваш файл глобализации. Я использовал CDN для всех загруженных файлов и использовал http://cdnjs.com/libraries/globalize для файла globalize.js. Поэтому дважды проверьте ваш globalize.js или предоставьте ссылку, чтобы я мог на нее посмотреть. Надеюсь, это поможет.

Я использовал globalize.js с сайта JqueryUI, чтобы избавиться от ошибок. https://jqueryui.com//resources/demos/external/globalize/globalize.js

Другие вопросы по тегам