我写了这个脚本,在网页上制作了一个可转动的按钮。 它工作得很好,但它不想让功能得到。它一直在括号内运行代码。知道如何解决这个问题吗? 这是我现在的代码。
如果您按下鼠标并拖动,则值会发生变化。但现在它无处不在,只有当你点击按钮而不是拖动时才会发生。
function pressed(){
var PosibleVal = new Array(8,41,74,107,140,174);
$(window).on("mousemove", function(e) {
if (e.which == 1) { // if left mouse button is pressed
var posY=(e.pageY - 158)*(-1); // read the mouse Y-position
if(posY<0)
{
posY=0;
}
if(posY>180)
{
posY=180;
}
var ar = Math.round(posY/33); //Round number
var cssPosY = "-webkit-transform:rotate("+PosibleVal[ar]+"deg)";
$("#innerheater").attr("style", cssPosY); // change rotation
}
});
}
HERE是该示例的链接。(仅适用于chrome和safari)
答案 0 :(得分:0)
我会这样做的
<script type="text/javascript">
$(document).ready(function()
{
var PosibleVal = new Array(8,41,74,107,140,174);
$('#heater').on("mousemove", function(e)
{
if (e.which == 1) {
var posY=(e.pageY - 158)*(-1);
if(posY<0)
posY=0;
if(posY>180)
posY=180;
var ar = Math.round(posY/33); //geen komma getal
var cssPosY = "-webkit-transform:rotate("+PosibleVal[ar]+"deg)";
$("#innerheater").attr("style", cssPosY);
}
});
</script>
在#heater div上使用onMouseMove事件对我来说更合乎逻辑。
然后,您可以将<div id="heater" onclick="pressed()">
替换为<div id="heater">
。