Я закончил hardcoding все в Javascript.
Есть 3 события:
scrollstart: Когда список начинается прокрутка (даже с рамкой)
scrollend: Когда список остановки прокрутки
выбран: Когда список останавливает прокрутку обнаруживает литиево в в середине экрана.
Снова, это работает как ответ выше, запускает событие «selected», когда список перестает прокручиваться.
Это проблема, потому что, скажем, я перетаскиваю палец по экрану (снизу вверх), а список быстро прокручивается, Я хочу, чтобы к моменту, когда он пройдет ли, чтобы сделать его выбранным. Вместо этого он будет прокручиваться полностью, и когда он остановится, он затем выведет «выбранный» в соответствующий ли.
--edit
Хорошо, я, наконец, нашел его !!
Вот как сделать эффект прокрутки анимации так же, как родной SmartWatch меню:
- Создать новый проект -> Шаблон -> носимый -> Веб -> список тау
- Создать list.js файл в проекте
Скопируйте этот удивительный код в файле:
define({
name: 'helpers/list',
requires:['helpers/dom'],
def: function list(domHelper){
'use strict';
var listHelper = null,
scrolledElement = null;
function addAnimation(page){
var list = null;
scrolledElement = page.querySelector('.ui-scroller');
if (scrolledElement){list = scrolledElement.querySelector('.ui-listview');}
if (scrolledElement && list){
listHelper = tau.helper.SnapListStyle.create(list, {animate: 'scale'});
scrolledElement.setAttribute('tizen-circular-scrollbar', '');
}
}
function removeAnimation(){
if (listHelper){
listHelper.destroy();
listHelper = null;
if (scrolledElement){scrolledElement.removeAttribute('tizen-circular-scrollbar');}
}
}
function onPageBeforeShow(){addAnimation(this);}
function onPageBeforeHide(){removeAnimation();}
function animate(page){
if (page.classList.contains('ui-page-active')){addAnimation(page);}
page.addEventListener('pagebeforeshow', onPageBeforeShow);
page.addEventListener('pagebeforehide', onPageBeforeHide);
}
return{animate: animate,};}});
Подключить скрипт к html-файлу прямо под тегом закрытия тега
- Откиньтесь назад и наслаждайтесь!
спасибо! Удивительный ответ! Ваше решение работает, но оно медленное (не как собственное меню часов). Размер становится больше после завершения перехода от одного элемента к другому. Есть ли обходной путь? (другой триггер, или если он может быть запущен быстрее?) –