让javascript实时发生

时间:2013-01-24 21:05:05

标签: javascript dom

我从带有圆形边框的div做了一个圆圈。我使用jquery ui制作了这个div draggable。我想知道如何使它更左边你拖动div它具有较少的不透明度。下面是我已编码的片段:

<script type="text/javascript" language="javascript">

$(function() {
    $( "#circle" ).draggable();
  });

  var circ = document.getElementById('circle');
  var num = circ.style.left/1000;



</script>
</head>

<body>
<div id="circle"></div>


<script type="text/javascript">circ.style.opacity = num;</script>
</body>
</html>

我知道我可以把circ.style.opacity = num;进入一个函数并调用该函数,但我想知道是否有一种方法可以自动更改? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

正如其他人已经建议的那样,只需在drag回调中计算不透明度并设置不透明度。连续调用drag回调,直到拖动停止。这就是“实时”更新的工作原理。

示例:

$('#circle').draggable({
    "drag": function (e, ui) {
        var percentOpacity = someVal; //compute this however you like
        $(this).css('opacity', percentOpacity);
    }
});

工作演示http://jsfiddle.net/gzA8w/

在工作演示中,我只是将不透明度计算为元素距文档右边缘的像素数的函数。你走的越远,它就越透明。