Advanced list view component with gesture, swipe and drag & drop support.
Use it along Mobiscroll forms, pages or in any web or mobile hybrid app. Suited for small to large screens.
Shipping with useful features for a refined UX, including:
Support for alternating row color
Use it with single, multi-line text or custom content
Render cards instead of full-width rows
Enhance content with images, avatars and icons
Built-in support for sorting and ordering
Multiple data-source support
Load on demand capabilities
Top positioned sticy header for segmenting the list
Simple to advanced grouping capabilities
CRUD with undo functionality
Full-blown gesture support
Hierarchical listviews with variable depth
Multiple theme support
As part of Gesture enabled listview it can be picked up with the Framework and Complete licenses or with the component license .
Listview available for other frameworks.
Viewing demos & code for
Browse the various components and demos
Close
Listview - Basic
Change demo
JQuery Listview demo for creating a simple list of items. Add stripes for alternating background colors of list items.
Listview - Content
Change demo
JQuery Listview demo for rendering different types of content. Use it for multi-line text, cards or any content with custom CSS.
Listview - Image/Icon/Avatar
Change demo
JQuery Listview image demo for rendering content with regular images, icons and avatars. Customize it with custom CSS.
Listview - Selecting items
Change demo
JQuery Listview item selection example. Select a single item or enable multiple selection for batch operations.
Listview - Sorting & ordering
Change demo
JQuery Listview reorder demo. Grab and sort from drag handle on the left or right side, or tap/click and hold to sort.
Listview - Grouping
Change demo
JQuery Listview demo with group headers. Use it to logically segment and group items without creating multiple lists.
Listview - Create, Read, Update, Delete
Change demo
Create, Read, Update, Delete
JQuery Listview demo with CRUD operations & swipe actions. Slide right to update and left to delete items.
Listview - Remove/Undo
Change demo
JQuery Listview demo with swipe-away delete and built-in undo functionality. Use it for laying out notifications or any data.
Listview - Swipe actions
Change demo
JQuery Listview demo with swipe revealing actions. Render an action list or action menu when sliding items left and right.
Listview - Hierarchy
Change demo
JQuery Listview with multi-level hierarchy and drill-down interface. Featuring images, icons and text.
Listview - Checklist
Change demo
JQuery Drag & Drop checklist/tasklist with swipe actions to add/remove items from todo listview. Sorting is supported.
Listview - Filtering
Change demo
JQuery Listview demo with dynamic data and live filtering. Add and remove items on the fly or reload the full list.
Listview - Data sources
Change demo
JQuery Listview demo with different ways of getting and passing data. Supporting hardcoded lists, dynamic and remote data.
Listview - Load on demand
Change demo
JQuery Listview load on demand demo. Load data from a REST service and populate the list as users scroll content.
Listview - Load more
Change demo
JQuery Listview demo with load more button for loading additional items from a REST service. Get and display records from JSON.
Listview - Master-detail view
Change demo
Build a two pane master-detail view with the help of the listview. Use the grid layout to set up the two columns - left side for a list of names,
right side for showing the details. If you want to get into the details you could even hide the first column and build a drawer or use a
hamburger menu for the master list.
Use the navigation component for the tabs and cards for building the layout of the details view.
Listview - Event handlers
Change demo
JQuery Listview demo with event hooks for deep integration and custom functionality. With source code.
Listview - Quick Navigation
Change demo
JQuery Listview demo with quick access to list segments. Alphabetically group items and provide a tab list for selection.
$(function () {
var timer,
firstletter,
currSelected = "A",
start = new Date(),
isScrolled = false,
$wndw = $(window),
$popup = $('.md-popup'),
isFavorite = false,
preventScroll = false,
$list = $('#demo'),
$listDeviders = $('#demo li[data-role=list-divider]'),
$optionList = $('.md-alfabet');
$list.mobiscroll().listview({
theme : ' ',
themeVariant : ' ' ,
lang : ' ' ,
swipe : false,
enhance : true,
onItemTap : function (event, inst) {
var target = $(event.domEvent.target);
if (target.hasClass('mbsc-ic')) {
$(event.target).toggleClass('star3');
target
.toggleClass('mbsc-ic-star3')
.toggleClass('mbsc-ic-star');
mobiscroll.toast({
message: 'Favorites updated'
});
}
}
});
$optionList.mobiscroll().optionlist({
theme : ' ',
themeVariant : ' ' ,
type: 'tabs',
display : 'top',
select : 'single',
onItemTap : function (event, inst) {
var item = $(event.target),
text = item.text();
preventScroll = true;
isFavorite = item.hasClass('md-item-star');
if (!isFavorite) {
$('.mbsc-lv-item:not(.star3)', $list).show();
$listDeviders.show();
$('.md-no-bookmark').hide();
} else {
$('.mbsc-lv-item:not(.star3)', $list).hide();
$listDeviders.hide();
if (!$('.star3').length) {
$('.md-no-bookmark').show();
}
}
if (!isScrolled && !isFavorite) {
$wndw.scrollTop($('.header' + text).next().position().top - $(this).height());
$popup.addClass('md-show-popup');
$popup.text(text);
clearTimeout(timer);
timer = setTimeout(function () {
$popup.removeClass('md-show-popup');
}, 1500);
}
}
});
$wndw.on('scroll trouchmove', function (ev) {
if (new Date() - start > 150 && !isFavorite) {
var currHeader,
wTop = $(this).scrollTop();
$listDeviders.each(function (i, v) {
if (wTop > $(v).position().top) {
currHeader = v;
return;
}
});
firstletter = currHeader.textContent;
isScrolled = true;
if (currSelected != firstletter) {
$optionList.mobiscroll('navigate', $('.md-item-' + firstletter), true);
}
currSelected = firstletter;
start = new Date();
isScrolled = false;
}
});
});
<div class="md-navigate">
<div class="md-popup">
c</div>
<ul class="md-alfabet">
<li class="md-item-star"><span class="mbsc-ic mbsc-ic-star3"></span</li>
<li class="md-item-A" data-selected="true">A</li>
<li class="md-item-B">B</li>
<li class="md-item-C">C</li>
<!-- Showing partial data. Download full source. -->
</ul>
<ul id="demo" class="md-list">
<li class="md-no-bookmark">
<div class="md-nob-title">Traveling to the same place frequently?</div>
<div class="md-nob-txt">You can bookmark airports by tapping on the star to the left and they will show up here.</div>
<div class="md-nob-separator"></div>
<img class="md-nob-img" src="https://img.mobiscroll.com/demos/lv-bookmark.png" >
</li>
<li data-role ="list-divider" class="headerA">A</li>
<li data-icon ="star">Abilene, TEXAS<span class="md-iata">(ABI)</span></li>
<li data-icon ="star">Agana / Tamuning, GUAM<span class="md-iata">(GUM)</span></li>
<li data-icon ="star">Aguadilla, PUERTO RICO<span class="md-iata">(BQN)</span></li>
<li data-icon ="star">Akron / Canton, OHIO<span class="md-iata">(CAK)</span></li>
<li data-role ="list-divider" class="headerB">B</li>
<li data-icon ="star">Baltimore / Glen Burnie, MARYLAND<span class="md-iata">(BWI)</span></li>
<li data-icon ="star">Bangor, MAINE<span class="md-iata">(BGR)</span></li>
<li data-icon ="star">Bar Harbor, MAINE<span class="md-iata">(BHB)</span></li>
<li data-icon ="star">Baton Rouge, LOUISIANA<span class="md-iata">(BTR)</span></li>
<!-- Showing partial data. Download full source. -->
</ul>
</div>
.demo-main-cont.demo-comp-listview { padding: 0; }
.demo-comp-listview .demo-note { margin: 10px; }
.md-navigate .md-list .mbsc-lv-item {
padding-right: 4em;
backface-visibility: hidden;
-webkit-transform: none;
-moz-transform: none;
transform: none;
}
.md-popup {
position: fixed;
width: 100px;
height: 100px;
margin: -50px 0 0 -50px;
border-radius: 100px;
background: rgba(78, 204, 196, .6);
color: #fff;
font-size: 56px;
font-family: sans-serif;
line-height: 100px;
text-align: center;
top: 50%;
left: 50%;
z-index: 10;
opacity: 0;
pointer-events: none;
-webkit-transition: opacity 300ms;
-moz-transition: opacity 300ms;
transition: opacity 300ms;
}
.md-show-popup {
opacity: 1;
}
.md-alfabet .mbsc-ms-item {
min-width: 2.5em;
}
.md-iata {
position: absolute;
top: 50%;
right: 1em;
margin-top: -9px;
}
.example-full .md-popup
{
position: fixed;
}
.md-item-star .mbsc-ic-star3 {
font-size: 14px;
}
/* no bookmark section */
.md-navigate .md-list .mbsc-lv-item.md-no-bookmark {
display: none;
padding: 1.5em 2.5em;
height: 571px;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
.md-nob-separator {
height: 1px;
margin-bottom: 38px;
width: 100%;
background: #CACACA;
}
.md-nob-title {
text-align: center;
padding: 1em;
font-size: 16px;
}
.md-nob-txt {
text-align: center;
padding: 1em 0 2em 0;
color: #a0a0a0;
font-size: 14px;
}
.md-navigate .mbsc-lv .md-no-bookmark.mbsc-lv-item .md-nob-img {
position: static;
display: block;
max-width: 274px;
width: 274px;
max-height: initial;
margin: 0 auto;
border: 1px solid #ccc;
margin-bottom: 14px;
transform: none;
}
.md-no-bookmark {
display: none;
padding: 2em;
background: #f7f7f7;
font-size: 16px;
}
.md-navigate .md-no-bookmark.mbsc-lv-item-active:after {
background: none !important;
}
Looking for something you didn't see or have a sales question? Ask us about it, we're here to help.
Ask us anything
Customize & try demos locally
Sign in or start your free trial
What framework are you using?
Javascript
jQuery
AngularJS
Angular
React
Other
Ionic Angular
Select a framework
Install demo in your app
Follow this quick, two minute install guide
Close window
Install demo in your app
Follow this quick, two minute install guide
Close window
Customize & try demos locally
How would you like to do it?
Install demo in your app
Follow this quick, two minute install guide
Close window
Thanks for downloading
Try and customize the app locally
Extract the zip file and run the project like any Ionic app. Make sure to have Ionic CLI installed and open the terminal in the app root folder.
Step 1. Run in root folder
$ npm install
Step 2. Start the app
$ ionic serve
Let us know if we can help and enjoy!
Thanks for downloading
Customize demos locally
Everything is set up so that you can dig in right away and start exploring.
We have set up a trial so that you can try the demos locally.
Extract the zip file and open the demo in your favorite browser.
To install Mobiscroll in your project
follow instructions from this page .
Let us know if we can help and enjoy! 👍
Thanks for downloading
Customize demos locally
Please extract the zip file and run the project like any Angular CLI app.
Make sure to have the Angular CLI installed.
For installation and usage, extract the zip file and open a terminal window and follow these steps.
Step 1. Run in root folder
$ npm install
Step 2. Start the app
$ ng serve --open
Let us know if we can help and enjoy! 👍
Thanks for downloading
Customize demos locally
Everything is set up so that you can dig in right away and start exploring.
We have set up a trial so that you can try the demos locally.
The easiest way to get started is to follow the installation steps and by
grabbing the code directly from the demo page. Let us know if we can help and enjoy! 👍
You'll find a fully functional Kitchen-sink Ionic app in the zip file.
Thanks for downloading
Customize demos locally
Everything is set up so that you can dig in right away and start exploring.
We have set up a trial so that you can try the demos locally.
The demos are using Babel's in-browser ES6 and JSX transformer.
Extract the zip file and open the demo in your browser. To install Mobiscroll in your project
follow instructions from this page .
Let us know if we can help and enjoy! 👍
Customize & try this demo locally
Sign in or start your free trial
Need to update your password?
Enter a new password and hit the button below to change it!
You are setting a password for the account
Need to update your password?
Your password has been changed!