欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實現音量控制拖動

 更新時間:2020年01月15日 14:37:12   作者:SSSkyCong  
這篇文章主要為大家詳細介紹了JS實現音量控制拖動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JS實現音量控制拖動的具體代碼,供大家參考,具體內容如下

描述:

JS——實現音量控制拖動

    1)、有底條,有拖拽按鈕
    2)、設置最小和最大值
    3)、拖動定位后,拋出事件當前的所在值

效果:

實現:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    #all {
      width: 500px;
      height: 86px;
      margin: 100px auto;
      position: relative;
    }
 
    #bar {
      width: 500px;
      height: 20px;
      border-radius: 10px;
      background: #9acfea;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      cursor: pointer;
    }
 
    #box {
      width: 30px;
      height: 30px;
      background: #ec971f;
      position: absolute;
      bottom: 0;
      top: 0;
      margin: auto 0;
      border-radius: 50%;
      cursor: pointer;
      transition: left 0.1s linear 0s;
    }
  </style>
</head>
<body>
  <div id="all">
    <p>當前位置0%</p>
    <div id="bar">
      <div id="box"></div>
    </div>
  </div>
<script>
 
  var all=document.getElementById("all");//容器
  var p=document.querySelector("p");//進度百分比
  var bar=document.getElementById("bar");//進度顯示條
  var box=document.getElementById("box");//進度按鈕
 
  var boxL,newL,moveL,mouseX,left;
  var cha = bar.offsetWidth - box.offsetWidth;
  var index=0;//標記狀態(tài)
 
  var evt=new Event("change");//本身的事件
  init();
  function init() {
    box.addEventListener("mousedown",mouseDownclickHandler);
    document.addEventListener("mousemove",mouseMoveclickHandler)
    document.addEventListener("mouseup",mouseUpclickHandler);
    document.addEventListener("change",changeHandler);
    bar.addEventListener("click",clickHandler);
  }
 
  function mouseDownclickHandler(e) {
    index=1;
    boxL=box.offsetLeft;
    mouseX=e.clientX;//鼠標按下拖動的位置
  }
 
  function mouseMoveclickHandler(e) {
    if(index===1){
      moveL=e.clientX-mouseX;//鼠標移動
      newL=boxL+moveL;//left值
 
      //判斷最小值與最大值
      if(newL<0){
        newL = 0;
      }
      if(newL>=cha){
        newL=cha;
      }
      // 改變left值
      box.style.left = newL + 'px';
      // 計算比例
      var bili = newL / cha * 100;
      p.textContent = '當前位置' + Math.ceil(bili) + '%';
      evt.elem=this;//當前指向 對象
      document.dispatchEvent(evt);//朝誰發(fā)送 拋發(fā)
    }
  }
 
  function mouseUpclickHandler(e) {
    index=0;
    evt.elem=this;//當前指向 對象
    document.dispatchEvent(evt);//朝誰發(fā)送 拋發(fā)
  }
 
  function clickHandler(e) {
    left = e.clientX-all.offsetLeft-box.offsetWidth/2;
    if(left<0){
      left=0;
    }
    if(left>=cha){
      left=cha;
    }
    box.style.left=left+'px';
    bili=left/cha*100;
    p.innerHTML='當前位置'+ Math.ceil(bili)+'%';
    evt.elem=this;//當前指向 對象
    document.dispatchEvent(evt);//朝誰發(fā)送 拋發(fā)
  }
 
  function changeHandler(e) {
    console.log(e);
  }
</script>
</body>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • bootstrap選項卡使用方法解析

    bootstrap選項卡使用方法解析

    這篇文章主要為大家詳細介紹了bootstrap選項卡使用方法,包括選項卡組件和底部可以切換的選項卡面板使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • JavaScript刪除數組元素的方法指南

    JavaScript刪除數組元素的方法指南

    作為一名前端開發(fā)工程師,我們經常需要在 JavaScript 中操作數組,其中比較常見的操作便是對數組進行元素的添加、刪除和修改。在這篇文章中,我會詳細介紹JS中所有刪除數組元素的方法,希望對大家有所幫助
    2023-05-05
  • JS中取二維數組中最大值的方法匯總

    JS中取二維數組中最大值的方法匯總

    本文通過三種解決方案給大家介紹js中取二維數組中最大值的方法。介紹的非常詳細,具有參考價值
    2016-04-04
  • js錨點、操作滾動條滑動scroll代碼演示

    js錨點、操作滾動條滑動scroll代碼演示

    滑動錨點挺有意思的,可增加一些瀏覽性,下面這篇文章主要給大家介紹了關于js錨點、操作滾動條滑動scroll的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • ichart.js繪制虛線、平均分虛線效果的實現代碼

    ichart.js繪制虛線、平均分虛線效果的實現代碼

    下面小編就為大家?guī)硪黄猧chart.js繪制虛線、平均分虛線效果的實現代碼。小編覺得挺不錯的,現在分享給大家,也給大家做個參考
    2016-05-05
  • js實現遮罩層劃出效果是生成div而不是顯示

    js實現遮罩層劃出效果是生成div而不是顯示

    單純的遮蓋層劃出是比較簡單的,而本例介紹的這個就有點難度,生成div,而不是顯示存在的div,需要的朋友可以參考下
    2014-07-07
  • js與jQuery實現獲取table中的數據并拼成json字符串操作示例

    js與jQuery實現獲取table中的數據并拼成json字符串操作示例

    這篇文章主要介紹了js與jQuery實現獲取table中的數據并拼成json字符串操作,涉及javascript與jQuery針對HTML頁面table表格數據獲取、遍歷及json字符串拼接相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • JavaScript中三種觀察者實現案例分享

    JavaScript中三種觀察者實現案例分享

    前面突然看到 Object.defineProperty,就順道想到 Proxy,然后就想到了觀察者案例,這邊還沒有用 javascript編寫一個觀察者的案例呢,順道加入了一個 event-bus 監(jiān)聽事件案例,湊一起看一看不同的實現方式,需要的朋友可以參考下
    2023-08-08
  • 非主流的textarea自增長實現js代碼

    非主流的textarea自增長實現js代碼

    今天稍微研究了下textarea隨輸入內容自動增長的功能,通過google參考了一些實現方式
    2011-12-12
  • JavaScript數據結構與算法之二叉樹插入節(jié)點、生成二叉樹示例

    JavaScript數據結構與算法之二叉樹插入節(jié)點、生成二叉樹示例

    這篇文章主要介紹了JavaScript數據結構與算法之二叉樹插入節(jié)點、生成二叉樹,結合實例形式較為詳細的分析了javascript二叉樹相關概念、定義、節(jié)點插入、遍歷輸出等相關操作技巧,需要的朋友可以參考下
    2019-02-02

最新評論