Ошибка меню (JS) и календаря (JS)

0

У меня есть меню с JS, оно отлично работает, но у меня есть страница календаря со следующим кодом

<script type="text/javascript">
$(function() {
$("‪#‎fecha_nac‬").datepicker({dateFormat: "yy-mm-dd"}).val()
});
</script>

если я поставил вышеуказанный код, что меню повреждено.

Меню откроется и кнопки с этим кодом меню, я могу умереть?

Я думал об использовании даты HTML5, но это не поддерживается в Firefox.

Код меню:

$( document ).ready(function() {
$('#cssmenu li.has-sub>a').on('click', function(){
                $(this).removeAttr('href');
                var element = $(this).parent('li');
                if (element.hasClass('open')) {
                        element.removeClass('open');
                        element.find('li').removeClass('open');
                        element.find('ul').slideUp();
                }
                else {
                        element.addClass('open');
                        element.children('ul').slideDown();
                        element.siblings('li').children('ul').slideUp();
                        element.siblings('li').removeClass('open');
                        element.siblings('li').find('li').removeClass('open');
                        element.siblings('li').find('ul').slideUp();
                }
        });

        $('#cssmenu>ul>li.has-sub>a').append('<span class="holder"></span>');

        (function getColor() {
                var r, g, b;
                var textColor = $('#cssmenu').css('color');
                textColor = textColor.slice(4);
                r = textColor.slice(0, textColor.indexOf(','));
                textColor = textColor.slice(textColor.indexOf(' ') + 1);
                g = textColor.slice(0, textColor.indexOf(','));
                textColor = textColor.slice(textColor.indexOf(' ') + 1);
                b = textColor.slice(0, textColor.indexOf(')'));
                var l = rgbToHsl(r, g, b);
                if (l > 0.7) {
                        $('#cssmenu>ul>li>a').css('text-shadow', '0 1px 1px rgba(0, 0, 0, .35)');
                        $('#cssmenu>ul>li>a>span').css('border-color', 'rgba(0, 0, 0, .35)');
                }
                else
                {
                        $('#cssmenu>ul>li>a').css('text-shadow', '0 1px 0 rgba(255, 255, 255, .35)');
                        $('#cssmenu>ul>li>a>span').css('border-color', 'rgba(255, 255, 255, .35)');
                }
        })();

        function rgbToHsl(r, g, b) {
            r /= 255, g /= 255, b /= 255;
            var max = Math.max(r, g, b), min = Math.min(r, g, b);
            var h, s, l = (max + min) / 2;

            if(max == min){
                h = s = 0;
            }
            else {
                var d = max - min;
                s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
                switch(max){
                    case r: h = (g - b) / d + (g < b ? 6 : 0); break;
                    case g: h = (b - r) / d + 2; break;
                    case b: h = (r - g) / d + 4; break;
                }
                h /= 6;
            }
            return l;
        }
});

Ошибка в консоли: Изображение 174551

Теги:

2 ответа

0

Решение: замените $ на $ date и добавьте эту строку:

$date = jQuery.noConflict();

Код:

<script type="text/javascript">

    $date = jQuery.noConflict();
    $date(function() {
        $date.datepicker.regional['es'] = {
            closeText: 'Cerrar',
            prevText: '<Ant',
            nextText: 'Sig>',
            currentText: 'Hoy',
            monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
            monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
            dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
            dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Juv', 'Vie', 'Sáb'],
            dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá'],
            weekHeader: 'Sm',
            dateFormat: 'dd/mm/yy',
            firstDay: 1,
            isRTL: false,
            showMonthAfterYear: false,
            yearSuffix: ''
        };

        $date.datepicker.setDefaults($date.datepicker.regional['es']);
        $date("#fecha_nac").datepicker({
            changeMonth: true,
            changeYear: true,
            dateFormat: "yy-mm-dd",
            minDate: "-50Y", maxDate: "-10Y",
        });
    });
                            </script>
0

Вы используете jQuery 1.5, а функция on() не была добавлена до тех пор, пока не произойдет ошибка jQuery 1.7. Вам нужно перейти на новую версию jQuery. Поскольку с 1,5 до 1,7 были некоторые большие изменения, не удивляйтесь, если у кода выбора даты возникнут проблемы. Таким образом, вам может потребоваться загрузить более новую версию jQuery в режиме noConflict.

  • 0
    Можете ли вы дать мне объяснение, как я мог это сделать? Поместите новую версию jquery?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню