在HTML中怎么样实现左右滑动?
代码附上
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Bootstrap 实例 - 下拉菜单(Dropdowns)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-3.4.1.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/TouchSlide.1.1.js"></script>
<!-- <link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.15.3/dist/bootstrap-table.min.css">
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> -->
<!-- <link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-3.4.1.js"></script>
<script src="js/bootstrap.min.js"></script> -->
</head>
<body>
<div class="container">
<br>
<!-- <div class="jumbotron">
<h1>欢迎登陆页面!</h1>
<p>这是一个超大屏幕(Jumbotron)的实例。</p>
<p><a class="btn btn-primary btn-lg" role="button">
学习更多</a>
</p>
</div> -->
<div class="table-responsive" >
<table id="table1" class="table" data-toggle="table">
<caption>响应式表格布局</caption>
<thead>
<tr>
<th>产品</th>
<th>付款日期</th>
<th>状态</th>
</tr>
</thead>
<tbody id="clss">
<!-- <tr>
<td>产品1</td>
<td>23/11/2013</td>
<td>待发货</td>
</tr>
<tr>
<td>产品2</td>
<td>10/11/2013</td>
<td>发货中</td>
</tr>
<tr>
<td>产品3</td>
<td>20/10/2013</td>
<td>待确认</td>
</tr>
<tr>
<td>产品4</td>
<td>20/10/2013</td>
<td>已退货</td>
</tr>
<tr>
<td>产品1</td>
<td>23/11/2013</td>
<td>待发货</td>
</tr>
<tr>
<td>产品2</td>
<td>10/11/2013</td>
<td>发货中</td>
</tr>
<tr>
<td>产品3</td>
<td>20/10/2013</td>
<td>待确认</td>
</tr>
<tr>
<td>产品4</td>
<td>20/10/2013</td>
<td>已退货</td>
</tr>
<tr>
<td>产品1</td>
<td>23/11/2013</td>
<td>待发货</td>
</tr>
<tr>
<td>产品2</td>
<td>10/11/2013</td>
<td>发货中</td>
</tr>
<tr>
<td>产品3</td>
<td>20/10/2013</td>
<td>待确认</td>
</tr>
<tr>
<td>产品4</td>
<td>20/10/2013</td>
<td>已退货</td>
</tr>
<tr>
<td>产品1</td>
<td>23/11/2013</td>
<td>待发货</td>
</tr>
<tr>
<td>产品2</td>
<td>10/11/2013</td>
<td>发货中</td>
</tr>
<tr>
<td>产品3</td>
<td>20/10/2013</td>
<td>待确认</td>
</tr>
<tr>
<td>产品4</td>
<td>20/10/2013</td>
<td>已退货</td>
</tr> -->
</tbody>
</table>
</div>
</div>
</body>
<script>
var start_i = 0;
var end_i = 10;
$(document).ready(function(){
var textg = "";
for(var i = start_i; i < end_i; i++)
{
textg += '<tr>';
textg += '<td>产品'+(i+1)+'</td>';
textg += '<td>23/11/2013</td>';
if(i % 4 == 0)
{
textg += '<td>待发货</td>';
}
else if(i % 4 == 1)
{
textg += '<td>发货中</td>';
}
else if(i % 4 == 2)
{
textg += '<td>待确认</td>';
}
else
{
textg += '<td>已退货</td>';
}
textg += '</tr>';
}
document.getElementById("clss").innerHTML = textg;
document.addEventListener("plusscrollbottom", pullupfresh, true);
});
function pullupfresh()
{
// alert("aaa");
var textg = "";
for(var i = start_i; i < end_i; i++)
{
textg += '<tr>';
textg += '<td>产品'+(i+1)+'</td>';
textg += '<td>23/11/2013</td>';
if(i % 4 == 0)
{
textg += '<td>待发货</td>';
}
else if(i % 4 == 1)
{
textg += '<td>发货中</td>';
}
else if(i % 4 == 2)
{
textg += '<td>待确认</td>';
}
else
{
textg += '<td>已退货</td>';
}
textg += '</tr>';
}
document.getElementById("clss").innerHTML = textg;
}
// window.addEventListener("popstate", function(e) {
// alert("aaa");
// }, true);
var h = document.documentElement.clientHeight,
mybody = document.getElementsByTagName('body')[0];
// mybody = document.getElementById('table1');
// mybody.style.height = h + 'px';
//返回角度
function GetSlideAngle(dx,dy) {
return Math.atan2(dy,dx) * 180 / Math.PI;
}
//根据起点和终点返回方向 1:向上,2:向下,3:向左,4:向右,0:未滑动
function GetSlideDirection(startX,startY, endX, endY) {
var dy = startY - endY;
var dx = endX - startX;
var result = 0;
//如果滑动距离太短
if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {
return result;
}
var angle = GetSlideAngle(dx, dy);
if (angle >= -45 && angle < 45) {
result = 4;
}else if (angle >= 45 && angle < 135) {
result = 1;
}else if (angle >= -135 && angle < -45) {
result = 2;
}else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
result = 3;
}
return result;
}
//滑动处理
var startX, startY;
mybody.addEventListener('touchstart', function (ev){
ev.preventDefault();
startX = ev.touches[0].pageX;
startY = ev.touches[0].pageY;
}, false);
mybody.addEventListener('touchmove', function (ev){
var endX, endY;
ev.preventDefault();
endX = ev.changedTouches[0].pageX;
endY = ev.changedTouches[0].pageY;
var direction = GetSlideDirection(startX, startY, endX, endY);
switch (direction){
case 0:
// alert("没滑动");
break;
case 1:
// alert("向上");
break;
case 2:
// alert("向下");
break;
case 3:
// alert("向左");
if(start_i > 0)
{
start_i -= 10;
end_i -= 10;
}
// $(this).carousel(startX >endX ? (start_i+=10);:'prev');
var textg = "";
for(var i = start_i; i < end_i; i++)
{
textg += '<tr>';
textg += '<td>产品'+(i+1)+'</td>';
textg += '<td>23/11/2013</td>';
if(i % 4 == 0)
{
textg += '<td>待发货</td>';
}
else if(i % 4 == 1)
{
textg += '<td>发货中</td>';
}
else if(i % 4 == 2)
{
textg += '<td>待确认</td>';
}
else
{
textg += '<td>已退货</td>';
}
textg += '</tr>';
}
document.getElementById("clss").innerHTML = textg;
break;
case 4:
// alert("向右"+start_i);
// if(start_i > 0)
// {
start_i += 10;
end_i += 10;
// }
// getElementsByTagName
// $(this).carousel(startX >endX ? (start_i+=10);:'prev');
var textg = "";
// alert(start_i);
for(var i = start_i; i < end_i; i++)
{
textg += '<tr>';
textg += '<td>产品'+(i+1)+'</td>';
textg += '<td>23/11/2013</td>';
if(i % 4 == 0)
{
textg += '<td>待发货</td>';
}
else if(i % 4 == 1)
{
textg += '<td>发货中</td>';
}
else if(i % 4 == 2)
{
textg += '<td>待确认</td>';
}
else
{
textg += '<td>已退货</td>';
}
textg += '</tr>';
}
document.getElementById("clss").innerHTML = textg;
break;
default:
}
}, false);
</script>
</html>
不正之处,请多多指教!