Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
  <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script
 src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular-touch.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body ng-app="app">
  <main ng-controller="AppController as app">
    <div class="container" 
         ng-swipe-left="app.onSwipe($event);" 
         ng-swipe-right="app.onSwipe($event);">
      <h1>This is a test</h1>
      
      <ul ng-swipe-left="app.onInnerSwipe($event);" 
         ng-swipe-right="app.onInnerSwipe($event);">
        <li><img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=placeholder&w=180&h=100" alt=""></li>
        <li><img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=placeholder&w=180&h=100" alt=""></li>
        <li><img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=placeholder&w=180&h=100" alt=""></li>
        <li><img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=placeholder&w=180&h=100" alt=""></li>
      </ul>
    </div>
  </main>
</body>
</html>
 
.container {
  background: #efefef;
  border-radius: 4px;
  padding: 20px;
  width: 400px;
  overflow: hidden;
}
.list-holder {
  width: 100%;
  overflow: auto;
}
ul {
  list-style: none;
  padding: 0;
  margin: 0;  
  font-size: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  overflow-x: auto;
}
li {
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-flex-basis: 180px;
  -ms-flex-preferred-size: 180px;
  flex-basis: 180px;
}
li + li {
  margin-left: 5px;
}
 
(function(){
  var app = angular.module('app', ['ngTouch']);
  
  app.controller('AppController', function(){
    var shouldActionProceed = function($event) {
      return !$event || 
        !$event.originalEvent || 
        !$event.originalEvent.preventAction;
    };
    
    this.onSwipe = function($event) {
      if (shouldActionProceed($event)){
        alert('Swiped');        
      }
    };
    
    this.onInnerSwipe = function($event) {
      $event.originalEvent.preventAction = true;
    };
  });
})();
Output

This bin was created anonymously and its free preview time has expired (learn why). — Get a free unrestricted account

Dismiss x
public
Bin info
anonymouspro
0viewers