我试着写了使用jQuery在JavaScript程序中,我可以用鼠标拖动按钮,源码如下:为什么我不能在Jquery Selector中使用变量?
<!DOCTYPE html>
<html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var i = 1
// while (i < 6) {
$("#c"+i).mousedown(function(e) {
var isMove = true
var px = e.pageX
var py = e.pageY
x = parseInt($("#c"+i).css("right"))
y = parseInt($("#c"+i).css("bottom"))
$(document).mousemove(function(e) {
if (isMove) {
$("#c"+i).css({
"right" : "" + (x - (e.pageX - px)) + "px",
"bottom" : "" + (y - (e.pageY - py)) + "px"
})
}
}).mouseup(function() {
isMove = false
})
})
// i++
// }
})
</script>
<style type="text/css">
.cell {
position: relative;
right: -100px;
bottom: -100px;
background-color: royalblue;
width: 40px;
height: 40px;
border-radius: 5px;
-webkit-box-shadow: 1px 1px 5px #666666;
-webkit-user-select: none;
margin: 10px;
display: inline-block;
}
.panel {
-webkit-user-select: none;
}
</style>
<body>
<div class="panel">
<div class="cell" id="c1"></div>
<div class="cell" id="c2"></div>
<div class="cell" id="c3"></div>
<div class="cell" id="c4"></div>
<div class="cell" id="c5"></div>
</div>
</body>
</html>
现在它工作得很好。然而,当我加入“而”语句进去,只有最后一个按钮可以拖到
<!DOCTYPE html>
<html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var i = 1
while (i < 6) {
$("#c"+i).mousedown(function(e) {
var isMove = true
var px = e.pageX
var py = e.pageY
x = parseInt($("#c"+i).css("right"))
y = parseInt($("#c"+i).css("bottom"))
$(document).mousemove(function(e) {
if (isMove) {
$("#c"+i).css({
"right" : "" + (x - (e.pageX - px)) + "px",
"bottom" : "" + (y - (e.pageY - py)) + "px"
})
}
}).mouseup(function() {
isMove = false
})
})
i++
}
})
</script>
<style type="text/css">
.cell {
position: relative;
right: -100px;
bottom: -100px;
background-color: royalblue;
width: 40px;
height: 40px;
border-radius: 5px;
-webkit-box-shadow: 1px 1px 5px #666666;
-webkit-user-select: none;
margin: 10px;
display: inline-block;
}
.panel {
-webkit-user-select: none;
}
</style>
<body>
<div class="panel">
<div class="cell" id="c1"></div>
<div class="cell" id="c2"></div>
<div class="cell" id="c3"></div>
<div class="cell" id="c4"></div>
<div class="cell" id="c5"></div>
</div>
</body>
</html>
那么,为什么它发生了,我怎么能解决这个问题?
非常感谢你,你彻底解决我的问题。 –