我创建了一个光标跟踪的jsFiddle,它慢慢淡出。但是,我希望用户能够输入一个会淡出的速度。他们将进入速度,点击" Go",他们的光标踪迹将以该速度消失。
我创建了一个存储输入值的变量,但我不知道如何获取此数字并将其用作持续时间。有人可以看看并帮助我吗?
jsFiddle:http://jsfiddle.net/w50x3L2a/1/
$(document).ready(function () {
$('.go').click(function () {
speedvar = $('.speed').val();
$('.mousearea').mousemove(function (e) {
pointer = $('<img>').attr({'src': 'http://www.bangkokpost.com/common/img/icons/icon-dotBlue.png'});
$(document.body).append(pointer);
pointer.css({
'position': 'absolute',
top: e.pageY + 2,
left: e.pageX + 2
}).slideUp(speedvar);
});
});
});
&#13;
.mousearea {
width:500px;
height:500px;
border: 1px solid #ff0000;
margin:30px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<p style="display:inline; margin-right:20px;">Fade Out Speed</p>
<input class="speed" type="text"></input>
<button class="go">Go</button>
<div class="mousearea"></div>
&#13;
谢谢!
答案 0 :(得分:0)
.slideUp
除Number
参数外,.val()
在这种情况下返回String
。
您需要使用parseInt(string, radix)
将speedvar
转换为数字。
speedvar = parseInt($('.speed').val(), 10);
可以提供字符串'fast'和'slow'[...]如果提供了任何其他字符串,或者省略duration参数,则使用400毫秒的默认持续时间。