#javascript #listview #win-universal-app #scrollbar #winjs
#javascript #listview #win-universal-app #полоса прокрутки #winjs
Вопрос:
Я работаю с представлением списка в winjs, WinJS.UI.ListView.
<div class="list-of-lists-listview" data-win-control="WinJS.UI.ListView"></div>
вызовет ли это какое-либо событие при запуске прокрутки.
У меня есть еще <div>
один, который мне нужно сделать видимым, когда мы начнем прокручивать список.
Любая помощь приветствуется!
Ответ №1:
<div class="list-of-lists-listview" data-win-control="WinJS.UI.ListView"></div>
Внутри JS получите представление списка, подобное
var currentListView = document.querySelector(".list-of-lists-listview");
Не добавляйте обработчик события прокрутки непосредственно в элемент управления, вместо этого получите порт просмотра для просмотра списка, используя приведенный ниже код,
var currentViewPort = currentListView.querySelector(".win-viewport");
Теперь добавьте прослушиватель к этому порту просмотра
currentViewPort.addEventListener("scroll", this._onScroll, true);
напишите обработчик с именем _onScroll, где мы можем написать наш код.
Ответ №2:
Если вы хотите включить событие прокрутки элемента управления ListView, вы можете использовать Html API:
HTML:
<div id="myListView"
class="list-of-lists-listview"
style="height:500px;overflow:scroll"
data-win-control="WinJS.UI.ListView" >
</div>
JS:
document.getElementById("myListView").onscroll = function (evt)
{
...
}
Примечания: Вам нужно ListView
явно задать высоту и overflow:scroll
отобразить полосу прокрутки.
Комментарии:
1. это не сработало. Но при запуске приложения этот элемент управления отобразит порт просмотра для просмотра списка. если мы добавили событие прокрутки в этот порт просмотра, оно будет работать.
2. Спасибо за поддержку 🙂