1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ficozhe-K-UI

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

numberbox (цифровой ввод)

<div class="NumBox">
    <button class="Btn NumBoxMinus" type="button">-</button>
    <input class="NumBoxInput" type="number" value="0"/>
    <button class="Btn NumBoxPlus" type="button">+</button>
</div>

Ограничение минимального и максимального значения (1~9)

<div class="NumBox" data-min="1" data-max="9">
    <button class="Btn NumBoxMinus" type="button">-</button>
    <input class="NumBoxInput" type="number" value="5">
    <button class="Btn NumBoxPlus" type="button">+</button>
</div>

Установка шага (шаг 10)

<div class="NumBox" data-step="10" data-min="10" data-max="90">
    <button class="Btn NumBoxMinus" type="button">-</button>
    <input class="NumBoxInput" type="number" value="10">
    <button class="Btn NumBoxPlus" type="button">+</button>
</div>

form (форма) предоставляет различные формы отображения

<ul class="ListBlock">
    <li class="ListItem">
        <div class="ItemCon">
            <div class="ItemMedia">
                <img class="Icon" src="images/svg/iconfont-user.svg" alt="用户">
            </div>
            <div class="ItemInner">
                <div class="ItemTitle Label">姓名</div>
                <div class="ItemInput">
                    <input class="InputContr" type="text" placeholder="您的姓名">
                </div>
            </div>
        </div>
    </li>
    ...
</ul>

checkbox radio (флажок и переключатель)

Флажок:

<ul class="ListBlock">
    <li class="ListItem">
        <label class="ItemCon LabelCheckbox">
            <input type="checkbox" name="mycheckbox" value="Books">
            <div class="ItemMedia"><i class="Icon IconCheckbox"></i></div>
            <div class="ItemInner">
                <div class="ItemTitle">Books</div>
            </div>
        </label>
    </li>
    ...
</ul>

Переключатель:

<ul class="ListBlock">
    <li class="ListItem">
        <label class="ItemCon LabelRadio">
            <input type="radio" name="myradio" value="Books">
            <div class="ItemInner">
                <div class="ItemTitle">Books</div>
            </div>
        </label>
    </li>
    ...
</ul>

switch (переключатель)

<div class="checkbox"></div>
<div class="checkbox"><span></span></div>

icon (значок) предоставляет набор часто используемых значков (формат .svg)


list (список) предоставляет различные способы отображения списков

<ul class="ListBlock">
    <li class="ListItem">
        <div class="ItemCon InkRipple">
            <div class="ItemMedia">
                <img class="Icon" src="images/svg/iconfont-user.svg" alt="用户">
            </div>
            <div class="ItemInner">
                <div class="ItemTitle">
                Ivan Petrov
                </div>
                <div class="ItemAfter">
                CEO
                </div>
            </div>
        </div>
    </li>
</ul>

text (текст) устанавливает часто используемые текстовые заголовки


box (коробка) предоставляет различные форматы отображения карточек

<div class="Box">
    <div class="BoxHeader">...</div>
    <div class="BoxContent">
        <div class="BoxContentInner">...</div>
    </div>
    <div class="BoxFooter">...</div>
</div>

tab (вкладка) объединяет Angular для предоставления простых функций вкладок


loading (загрузка) определяет базовый значок загрузки

<span class="Loading LoadingWhite"></span>

stylebox (девятисеточный дисплей) предоставляет способ отображения девятисеточного дисплея, удобный интерфейс

Расширение функциональности

chart (EChart диаграмма) это пример диаграммы EChart, интегрированной с KMUI. Для получения подробной информации о ECharts и его API, пожалуйста, обратитесь к официальному сайту: http://echarts.baidu.com

timeline (временная шкала)

slide (слайд-шоу)

KUI события и методы вызова

===== KUI предоставляет более мощные и удобные методы разработки, предоставляя множество часто используемых функций и расширений. Чтобы отличить его от jQuery, методы KUI вызываются с использованием синтаксиса $$.. Ниже приведены примеры использования событий:

Проверка характеристик предоставляет специфические функции проверки (тип события / положение полосы прокрутки / позиция страницы и размер окна) support API

Синтаксис Возвращаемое значение
$$.fn.support.GetPageScroll число возвращает положение полосы прокрутки .X .Y
$$.fn.support.GetPageSize число возвращает позицию страницы и размер окна .PageW .PageH .WinW .WinH
$$.fn.support.desktopEvents строка представляет собой событие рабочего стола, которое является событием мыши для ПК и событием касания для мобильных устройств
$$.fn.support.touch логическое значение определяет, поддерживает ли устройство сенсорное управление

Удаление начальных и конечных пробелов и BOM

$$.fn.trim(text)

JSON-последовательность

$$.fn.jsonArray(JSON)

Обнаружение устройства/операционной системы в основном для обнаружения мобильных устройств, оно содержит полезную информацию об устройстве и платформе Device API

Синтаксис Возвращаемое значение
$$.fn.device.os строка содержит «android» (для Android), «ios» (для iOS), undefined (для любой другой операционной системы/платформы)

$.fn.device.android — для устройств Android возвращает true, для других устройств — false.

$.fn.device.ios — для устройств iOS возвращает true, для других устройств — false.

$.fn.device.ipad — для iPad возвращает true, для других устройств — false.

$.fn.device.iphone — для iPhone/iPod Touch возвращает true, для других устройств — false.

$.fn.device.pixelRatio — возвращает соотношение пикселей экрана устройства, фактически это быстрый способ получить window.devicePixelRatio.

$.fn.device.webView — если приложение работает в UIWebView (сетевое приложение, установленное на домашнем компьютере или phone gap), возвращает true.

$.fn.device.minimalUi — если включён режим minimal-ui, возвращает true. Режим minimal-ui включается, когда сетевое приложение работает на iPhone/iPod с iOS 7.1+ и добавлен метатег viewport minimal-ui.

$.fn.device.statusBar — если приложение запущено в полноэкранном режиме и требуется скрыть строку состояния, возвращает true. Только для iOS.

$.fn.device.browse — возвращает тип браузера, включая (ie Firefox Chrome Edge Opera Safari Netscape).

Эта библиотека обнаружения устройств также добавляет дополнительные классы к элементу , чтобы иметь разные стили CSS на разных операционных системах и платформах.

Например, если вы используете устройство iOS 7.1, при открытии приложения у вас будут следующие классы:

<html class="ios ios-7 ios-7-1 iosGt6 PixelRatio1">
...

Если вы используете устройство с экраном Retina и iOS 7.1 и открываете приложение в полноэкранном режиме ($$.fn.device.statusBar = true), то:

<html class="ios ios-7 ios-7-1 iosGt6 Retina PixelRatio2 StatusbarOverlay">
...

Если вы используете устройство iOS 8.0 и открываете приложение в полноэкранном режиме ($$.fn.device.statusBar = true):

<html class="ios ios-8 ios-8-0 iosGt6 iosGt7 StatusbarOverlay">
...

Если вы используете iPhone6 Plus и ваше приложение работает в полноэкранном режиме ($$.fn.device.statusBar = true):

<html class="ios ios-8 ios-8-0 iosGt6 iosGt7 Retina PixelRatio3 StatusbarOverlay">
...

Если вы используете устройство Android 4.4 и открываете приложение:

<html class="android android-4 android-4-4">
...

События касания возвращают соответствующие координаты движения для указанного элемента DOM и предоставляют обратный вызов.

$$.fn.touches(document.getElementById("id"),function(Touches){
        $$.fn.log($$.fn.jsonArray(Touches))
    })

Проверка предоставляет распространённые проверки, такие как телефон, электронная почта, номер и т. д.

Синтаксис Возвращаемое значение
$$.fn.validate(string, type) string — данные для проверки. type — тип данных или регулярное выражение. Типы данных включают (email phone mobile number integer english chinese date).
$$.validate('13123456789','mobile')

Разложение параметров URL, например: http://www.kui.com/kui.html?id=1

var Url = $$.getUrlParams();
alert(Url.id)

Динамическая загрузка динамически загружает JS (с поддержкой обратного вызова) и CSS.

$$.loadJC('paths/app.css','css');
$$.loadJC('paths/app.js','js',function(){callback});

UI часть


Вернуться наверх:

$$.backToTop();

Уведомления: окно уведомлений с методами показа и закрытия.

$$.addNotify({
    title: 'Моё приложение',
    subtitle: 'Новое сообщение от KUI',
    message: 'Привет! Добро пожаловать в KUI, KUI предлагает вам удивительные визуальные эффекты.',
    media: '<img src="images/02.jpg" width="44"/>',
    onClose: function () {
        $$.alert('Уведомление закрыто');
    }
});

Индикатор загрузки: загрузка индикатора и разгрузка.

$$.indicator();
$$.unIndicator();

Загрузка: загрузка (с возможностью изменения заголовка) и разгрузка.

$$.loading('Пользовательский заголовок');
$$.unLoading();

Окно предупреждения: имитация окна предупреждения и предоставление метода обратного вызова. Заголовок можно не заполнять.

$$.alert('Содержание','Пользовательский заголовок',function(){обратный вызов});

Подтверждающее окно: аналогично окну предупреждения, но с кнопкой отмены и методом обратного вызова. Заголовок можно не заполнять.

$$.confirm("Содержание","Сообщение подтверждения",function(){обратный вызов});

Автоматически исчезающее окно подсказки: без метода обратного вызова, используется только для напоминания, отображается в течение 2000 миллисекунд.

$$.prompt("Содержание");

Нижнее подтверждающее окно: имитирует окно подтверждения приложения, аналогично подтверждающему окну, отображается внизу и предоставляет кнопку отмены и метод обратного вызова. Заголовок можно не заполнять.

$$.confirmModal("Содержание","Нижнее окно подтверждения",function(){обратный вызов});

Пустое окно подсказки: отображается, когда содержимое пусто, и предоставляет метод обратного вызова. Содержимое можно не заполнять.

$$.blankTips("Заголовок","Содержимое",function(){обратный вызов});

Отображение формы операции: имитирует форму операции Apple, отображает её способом, предоставляет метод обратного вызова и определённый режим отображения. Обратный вызов может быть пустым.

var actionSheetButtons = [
    [{
        text: 'Здесь можно описать операцию ниже',
        label: true
    },{
        text: 'Предупреждающее сообщение окна предупреждения',
        onClick: function () {
            $$.alert('Предупреждающее сообщение окна предупреждения!');
        }
    },{
        text: 'Кнопка красного цвета',
        color: 'CR',
        onClick: function () {
            $$.alert('Вы нажали кнопку красного цвета!');
        }
    }],
    [
        {
            text: 'Отмена',
            color: 'CW',
            bg: 'BBlue'
        }
    ]
];
$$.actions(actionSheetButtons);

Числовой ввод: предоставляет общие функции сложения и вычитания чисел.

$$.numberBox();

Прогрессбар: отображает полосу прогресса в указанном месте и может установить время.

$$.progressbar("body",time);

Пользовательская библиотека DOM

KUI не требует никаких сторонних библиотек, включая операции с DOM. У него есть собственная библиотека KDOM. Один из высокопроизводительных библиотек, который интегрирует большинство часто используемых операций DOM.

Вам не нужно изучать что-то новое, потому что его использование и применение похожи на широко известные jQuery, включая большинство распространённых методов и цепочечные вызовы в стиле jQuery.

Теперь существует глобальный объект KDom, чтобы избежать конфликтов с другими библиотеками, мы используем $$$.

Пример использования:

$$('.something').on('click', function (e) {
    $$(this).addClass('hello').attr('title', 'world').insertAfter('.something-else');
});

Доступные методы:

Классы Описание
.addClass(className) Добавить класс к элементу $$('p').addClass('intro');
.removeClass(className) Удалить указанный класс $$('a.big').removeClass('big');
.hasClass(className) Проверить наличие указанного класса на элементе $$('p').hasClass('intro');
.toggleClass(className) Если класс есть, удалить его, если нет — добавить $$('h1, h2').toggleClass('small');
Свойства Описание
.prop(propName) Получить значение свойства $$('input').prop('checked');
.prop(propName, propValue) Установить значение свойства $$('input[type="checkbox"]').prop('checked', true);
.prop(propertiesObject) Установить несколько значений свойств $$('input').prop({checked:false,disabled:true})
.attr(attrName) Получить значение атрибута $$('a').attr('href');
.attr(attrName, attrValue) Установить значение атрибута $$('a').attr('href', 'http://google.com');
.attr(attributesObject) Установить значения нескольких атрибутов $$('a').attr({id:'new-id',title:'Link to Google',href:'http://google.com'})
.removeAttr(attrName) Удалить значение атрибута $$('img').removeAttr('src');
.val() Получить текущее значение выбранного элемента $$('#myInput').val();
.val(newValue) Установить указанное значение для всех выбранных элементов $$('input#myInput').val('New value here');
Хранение данных Описание
.data(key, value) Сохранить любые данные на выбранном элементе $$('a').data('user',{id:'123',name:'John',email:'john@doe.com'});
.data(key) Если указан только один параметр, то считывает указанное значение, а если два параметра data(key, value), то устанавливает значение. Также можно установить через HTML5 data-* атрибут.
.removeData(key) Удаляет указанные данные $$('a').removeData('user')
Набор данных Описание
.dataset() Возвращает набор данных элемента (группу данных — атрибут) как чистый объект
CSS transform, transitions Описание
.transform(CSSTransformString) Добавляет стиль transform с префиксом $$('a').transform('rotate(90deg)')
.transition(transitionDuration) Устанавливает свойство css transition-duration $$('p').transition(300)
События Описание
.on(eventName, handler, useCapture) Привязывает событие к выбранному элементу $$('a').on('click', function (e) {console.log('clicked'); });
.on(eventName, delegatedTarget, handler, useCapture) Через прокси привязывает событие $$(document).on('click','a',function (e) {console.log('link clicked');});
.once(eventName, handler, useCapture) Для каждого совпадающего элемента определённого события (например, click) привязывает одноразовую функцию обработки событий.
.once(eventName, delegatedTarget, handler, useCapture) Выполняет обработку событий только один раз.
.off(eventName, handler, useCapture) Отменяет привязку события $$('a').off('click', clickHandler);
.off(eventName, delegatedTarget, handler, useCapture) Отменяет обработку событий через прокси $$(document).off('click', 'a', clickHandler);
.trigger(eventName, eventData) Запускает событие на выбранном элементе, указывая все обратные вызовы событий
.transitionEnd(callback, permanent) Добавляет обратный вызов transitionEnd к выбранному элементу
.width() Получает текущую вычисленную ширину первого элемента выбранного $$('div#box').width();
.outerWidth([includeMargin]) Получает текущую вычисленную ширину первого выбранного элемента, включая padding, border и margin (если includeMargin установлено в true)
.height() Получает текущую вычисленную высоту первого элемента выбранного $$('div#box').height();
.outerHeight([includeMargin]) Получает текущую вычисленную высоту первого выбранного элемента, включая padding, border и margin (если includeMargin установлено в true)
.offset() Получает смещение позиции первого выбранного элемента относительно документа
.hide() Устанавливает display: none для выбранного элемента
.show() Устанавливает display: block для выбранного элемента
.css(property) Получает значение CSS-свойства первого выбранного элемента
.css(property, value) Устанавливает значение CSS-свойств для всех выбранных элементов
.css(propertiesObject) Устанавливает значения нескольких CSS-свойств для всех выбранных элементов
Прокрутка Описание
.scrollTop() Получает scrollTop выбранного элемента
.scrollTop(position, duration, callback) Прокручивает до указанной позиции (position) за указанное время (duration). Если время (duration) не указано, прокрутка происходит немедленно. Если указан обратный вызов, он выполняется после завершения прокрутки.
.scrollLeft() Получает scrollLeft выбранного элемента
.scrollLeft(position, duration, callback) Прокручивает влево до указанной позиции (scrollLeft) за указанное время (duration). Если время (duration) не указано, прокрутка происходит немедленно. Если указан обратный вызов, он выполняется после завершения прокрутки.
.scrollTo(left, top, duration, callback) Прокручивает до указанных позиций (scrollLeft, scrollTop) за указанное время (duration). Если время (duration) не указано, прокрутка происходит немедленно. Если указан обратный вызов, он выполняется после завершения прокрутки.
--- ---
.add(elements) Создаёт новый элемент KDOM и добавляет его к узлу, соответствующему элементам: $$('div').add('p').addClass('blue');
.each(callback) Перебирает коллекцию и выполняет обратный вызов для каждого элемента.
.html() Получает HTML-содержимое выбранного первого элемента.
.html(newInnerHTML) Устанавливает HTML-содержимое для всех выбранных элементов.
.text() Получает текстовое содержимое выбранного первого элемента.
.text(newTextContent) Устанавливает текстовое содержимое для всех выбранных элементов.
.is(CSSSelector) Проверяет, соответствует ли выбранный элемент указанному CSS-селектору.
.is(HTMLElement) Проверяет, является ли выбранный элемент заданным DOM-элементом или элементом KDom.
.index() Определяет позицию выбранного первого элемента среди его родственных узлов.
.eq(index) Возвращает элемент с указанным индексом из выбранных элементов.
.append(HTMLString) Вставляет указанный контент после каждого выбранного элемента.
.append(HTMLElement) Вставляет заданный элемент после каждого выбранного элемента.
.prepend(newHTML) Вставляет указанный контент перед каждым выбранным элементом.
.prepend(HTMLElement) Вставляет заданный элемент перед каждым выбранным элементом.
.insertBefore(target) Вставляет каждый выбранный элемент перед указанным целевым элементом (target), который может быть CSS-селектором, HTML-элементом или KDom-коллекцией.
.insertAfter(target) Вставляет каждый выбранный элемент после указанного целевого элемента (target), который может быть CSS-селектором, HTML-элементом или KDom-коллекцией.
.next([selector]) Получает следующий прямой родственный элемент каждого выбранного элемента. Если указан селектор (selector), он фильтрует эти родственные элементы.
.nextAll([selector]) Получает все последующие родственные элементы каждого выбранного элемента. Если указан селектор (selector), он фильтрует эти родственные элементы.
.prev([selector]) Получает предыдущий прямой родственный элемент каждого выбранного элемента. Если указан селектор (selector), он фильтрует эти родственные элементы.
.prevAll([selector]) Получает все предыдущие родственные элементы каждого выбранного элемента. Если указан селектор (selector), он фильтрует эти родственные элементы.
.parent([selector]) Получает родительский элемент каждого выбранного элемента. Если указан селектор (selector), он фильтрует этих родителей.
.parents([selector]) Получает предков каждого выбранного элемента. Если указан селектор (selector), он фильтрует этих предков.
.find(selector) Ищет указанный элемент в потомках каждого выбранного элемента.
.children(selector) Ищет указанный элемент среди прямых потомков каждого выбранного элемента.
.filter(callback) Отфильтровывает элементы, соответствующие указанному выражению.
.remove() Удаляет выбранные элементы из DOM.
Dom-сокращения Описание
.click() Вызывает событие «click».
.click(handler) Добавляет обработчик события «click» к элементу.
.blur() Вызывает событие «blur».
.blur(handler) Добавляет обработчик события «blur» к элементу.
.focus() Вызывает событие «focus».
.focus(handler) Добавляет обработчик события «focus» к элементу.
.focusin() Вызывает событие «focusin».
.focusin(handler) Добавляет обработчик события «focusin» к элементу.
.focusout() Вызывает событие «focusout».
.focusout(handler) Добавляет обработчик события «focusout» к элементу.
.keyup() Вызывает событие «keyup».
.keyup(handler) Добавляет обработчик события «keyup» к элементу.
.keydown() Вызывает событие «keydown».
.keydown(handler) Добавляет обработчик события «keydown» к элементу.
.keypress() Вызывает событие «keypress».
.keypress(handler) Добавляет обработчик события «keypress» к элементу.
.submit() Вызывает событие «submit».
.submit(handler) Добавляет обработчик события «submit» к элементу.
.change() Вызывает событие «change».
.change(handler) Добавляет обработчик события «change» к элементу.
.mousedown() Вызывает событие «mousedown».
.mousedown(handler) Добавляет обработчик события «mousedown» к элементу.
.mousemove() Вызывает событие «mousemove».
.mousemove(handler) Добавляет обработчик события «mousemove» к элементу.
.mouseup() Вызывает событие «mouseup».
.mouseup(handler) Добавляет обработчик события «mouseup» к элементу.
.mouseenter() Вызывает событие «mouseenter».
.mouseenter(handler) Добавляет обработчик события «mouseenter» к элементу.
.mouseleave() Вызывает событие «mouseleave».
.mouseleave(handler) Добавляет обработчик события «mouseleave» к элементу.
.mouseout() Вызывает событие «mouseout».
.mouseout(handler) Добавляет обработчик события «mouseout» к элементу.
.mouseover() Вызывает событие «mouseover».
.mouseover(handler) Добавляет обработчик события «mouseover» к элементу.
.touchstart() Вызывает событие «touchstart».
.touchstart(handler) Добавляет обработчик события «touchstart» к элементу.
.touchend() Вызывает событие «touchend».
.touchend(handler) Добавляет обработчик события «touchend» к элементу.
.touchmove() Вызывает событие «touchmove».
.touchmove(handler) Добавляет обработчик события «touchmove» к элементу.
.resize(handler) Добавляет обработчик события «resize» к элементу.
.scroll(handler) Добавляет обработчик события «scroll» к элементу.
Tap-события Описание
.tap() Вызывает tap-событие на элементе.
.singleTap() Вызывает одиночное нажатие на элемент.
.doubleTap() Вызывает двойное нажатие на элемент.
.longTap() Срабатывает, когда элемент удерживается более 750 мс.
.swipe() Срабатывает при горизонтальном скольжении пользователя по элементу более чем на 30 пикселей.
.swipeLeft() Срабатывает при скольжении пользователя влево по элементу более чем на 30 пикселей.
.swipeRight() Срабатывает при скольжении пользователя вправо по элементу более чем на 30 пикселей.
.swipeUp() Срабатывает при скольжении пользователя вверх по элементу более чем на 30 пикселей.
.swipeDown() Срабатывает при скольжении пользователя вниз по элементу более чем на 30 пикселей.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

KUI разработан в соответствии со стандартами W3C HTML5 и CSS, поощряя семантику и упрощение структуры. Это сокращает время запросов на стороне клиента. KUI не зависит от других библиотек, имеет функции поиска элементов и цепочечную структуру, подобные jQuery, а также отличается меньшим размером, быстрой скоростью отклика и всесторонней модульно... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ficozhe-K-UI.git
git@api.gitlife.ru:oschina-mirror/ficozhe-K-UI.git
oschina-mirror
ficozhe-K-UI
ficozhe-K-UI
master