js拖動滑塊瀏覽圖片功能

antzone發表於2017-03-10

分享一段程式碼例項,它實現了拖動滑塊瀏覽圖片的功能。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
* {
  margin: 0;
  padding: 0;
  list-style: none;
}
.box {
  width: 800px;
  height: 230px;
  border: 1px solid #000;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  margin: 100px auto;
}
.box ul {
  width: 1950px;
  height: 200px;
  background-color: green;
  position: absolute;
  left: 0;
  top: 0px;
}
.box ul li {
  width: 130px;
  height: 100%;
  background-color: goldenrod;
  border: 1px solid #000;
  box-sizing: border-box;
  float: left;
  text-align: center;
  font-size: 28px;
}
.box .bottom {
  width: 100%;
  height: 30px;
  background-color: gainsboro;
  position: absolute;
  left: 0px;
  bottom: 0px;
}
.box span {
  width: 100px;
  height: 30px;
  border-radius: 15px;
  background-color: green;
  position: absolute;
  left: 0;
  bottom: 0px;
}
</style>
<script>
window.onload = function() {
  var fatherBox = document.getElementById('fatherBox');
  var picBox = document.getElementById('picBox')
  var sliderSpan = document.getElementById('slider');
  var sRatio=(fatherBox.offsetWidth-sliderSpan.offsetWidth)/(picBox.offsetWidth-fatherBox.offsetWidth);
 
  sliderSpan.onmousedown = function(event) {
    var event = event || window.event;
    var startX = event.clientX - sliderSpan.offsetLeft;
 
    document.onmousemove = function(event) {
      var event = event || window.event;
      var spanLeft = event.clientX - startX;
      if (spanLeft <= 0) {
        spanLeft = 0;
      } else if (spanLeft >= (fatherBox.offsetWidth - sliderSpan.offsetWidth)) {
        spanLeft = fatherBox.offsetWidth - sliderSpan.offsetWidth;
      }
      sliderSpan.style.left = spanLeft + 'px';
      picBox.style.left = -spanLeft / sRatio + 'px';
 
      return false;
    }
 
    document.onmouseup = function() {
      document.onmousemove = null;
      document.onmouseup = null;
    }
 
    return false;
  }
}
</script>
</head>
<body>
  <div id="fatherBox" class="box">
    <ul id="picBox">
      <li>螞蟻部落一</li>
      <li>螞蟻部落二</li>
      <li>螞蟻部落三</li>
      <li>螞蟻部落四</li>
      <li>螞蟻部落五</li>
      <li>螞蟻部落六</li>
      <li>螞蟻部落七</li>
      <li>螞蟻部落八</li>
      <li>螞蟻部落九</li>
      <li>螞蟻部落十</li>
      <li>螞蟻部落十一</li>
      <li>螞蟻部落十二</li>
      <li>螞蟻部落十三</li>
      <li>螞蟻部落十四</li>
      <li>螞蟻部落十五</li>
    </ul>
    <div class="bottom"></div>
    <span id="slider"></span>
  </div>
</body>
</html>

相關文章