我从带有圆形边框的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;进入一个函数并调用该函数,但我想知道是否有一种方法可以自动更改? 谢谢你的帮助。
答案 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/
在工作演示中,我只是将不透明度计算为元素距文档右边缘的像素数的函数。你走的越远,它就越透明。