Jquery 创建自定义seekbar时,单击外部div可更改内部div的宽度
我使用两个div制作了一个定制的seekbar,一个在另一个里面,用于音频播放器。它在播放歌曲时工作得很好,但我想在用户单击外部div seekbar时更改内部div的宽度,并更改音频的时间 这是我的密码Jquery 创建自定义seekbar时,单击外部div可更改内部div的宽度,jquery,html,css,Jquery,Html,Css,我使用两个div制作了一个定制的seekbar,一个在另一个里面,用于音频播放器。它在播放歌曲时工作得很好,但我想在用户单击外部div seekbar时更改内部div的宽度,并更改音频的时间 这是我的密码 <div id="progress"> <div id="myBar"></div> 您可以使用以下选项: $document.readyfunction{ $progress.clickfunction{ var xDistance=e.pageX-t
<div id="progress">
<div id="myBar"></div>
您可以使用以下选项:
$document.readyfunction{
$progress.clickfunction{
var xDistance=e.pageX-this.offsetLeft;
var yDistance=e.pageY-this.offsetTop;
$myBar.widthxDistance;
};
};
进展{
位置:相对位置;
高度:6px;
宽度:100%;
高度:30px;
边缘顶部:25px;
背景颜色:灰色;
}
我的酒吧{
位置:绝对位置;
宽度:0%;
身高:100%;
背景颜色:绿色;
}
你一定做错了什么。以下是完整的代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#progress").click(function(e){
var xDistance = e.pageX - this.offsetLeft;
var yDistance = e.pageY - this.offsetTop;
$("#myBar").width(xDistance);
console.log(xDistance);
});
});
</script>
<style type="text/css">
#progress {
position: relative;
height:6px;
width: 100%;
height: 30px;
margin-top: 25px;
background-color: grey;
}
#myBar {
position: absolute;
width: 0%;
height: 100%;
background-color: green;
}
</style>
</head>
<body>
<div id="progress">
<div id="myBar"></div>
</div>
</body>
</html>
但是如何找到用户单击的宽度我已经更新了jQuery代码,以基于鼠标单击计算宽度。你可以检查一下。我使用了这个更新的代码。但它不起作用。我想增加我的点击栏的宽度。但它不是这样工作的。我想为音频定制一个seekbar。我已经做过了。单击RunCodeSnippet。您可以看到子div的宽度,即myBar采用用户单击的宽度。如果你需要完整的HTML,那么它在这里的第二个答案。是的,你是绝对正确的。但它不适合我可能是因为我使用了动态ID
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#progress").click(function(e){
var xDistance = e.pageX - this.offsetLeft;
var yDistance = e.pageY - this.offsetTop;
$("#myBar").width(xDistance);
console.log(xDistance);
});
});
</script>
<style type="text/css">
#progress {
position: relative;
height:6px;
width: 100%;
height: 30px;
margin-top: 25px;
background-color: grey;
}
#myBar {
position: absolute;
width: 0%;
height: 100%;
background-color: green;
}
</style>
</head>
<body>
<div id="progress">
<div id="myBar"></div>
</div>
</body>
</html>