<head>
<meta charset="utf-8">
<style>
body{
-moz-user-select:none;
-webkit-user-select:none;
-ms-user-select:none;
-khtml-user-select:none;
user-select:none;
}
#box{
width:40px;
height:40px;
background: slateblue;
position: absolute;
left:0;
top:0;
}
.active{
width:40px;
height:40px;
background: slateblue;
position: absolute;
left:0;
top:0;
opacity:.5;
}
#a{
margin: auto;
height:80px;
width:500px;
background-color: green;
overflow-x: scroll;
overflow-y: hidden;
}
#b{
height:80px;
width:1000px;
background-color: red;
}
.projList{
width:100%;
height:300px;
overflow-x:auto;
}
</style>
</head>
<body>
<div>
<div id="a" class="projList">
<div id="b">
<a href="http://www.baidu.com">百度</a>aedad<a href="http://www.baidu.com">百度</a>asdadss<a href="http://www.baidu.com">百度</a>ssssssssssssssssssssssssssssssssssssssssaaaassssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssyyyy
</div>
</div>
</div>
<script>
var fixdrag = document.querySelector('#a'), ox;
var last_left = 0;
var isdown = false, ismove = false, timer = null;
fixdrag.onmousedown = function(e){
isdown = true;
console.log("isdown: " + isdown);
e = e || window.event;
if(last_left > 0 ){
ox = last_left + e.clientX;
}else{
ox = e.clientX;
};
document.onmousemove = function(e){
if(isdown) {
ismove = true;
clearTimeout(timer);
console.log("ismove: " + ismove);
e = e || window.event;
if(fixdrag.scrollWidth-fixdrag.scrollLeft!==fixdrag.clientWidth){
last_left = ox- e.clientX ;
};
fixdrag.scrollLeft = ox - e.clientX ;
};
};
document.onmouseup = function(){
isdown = false;
console.log("isdown: " + isdown);
document.onmousemove = document.onmouseup = null;
return false;
};
document.onclick = function () {
if(ismove) {
timer = setTimeout(function(){
ismove = false;
},500);
console.log("ismove: " + ismove);
return false;
};
};
return false;
};
</script>
</body>