我可以将.slideUp的速度设置为变量吗?

时间:2014-10-03 22:29:26

标签: jquery

我创建了一个光标跟踪的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;
&#13;
&#13;   

谢谢!

1 个答案:

答案 0 :(得分:0)

.slideUpNumber参数外,.val()在这种情况下返回String

您需要使用parseInt(string, radix)speedvar转换为数字。

speedvar = parseInt($('.speed').val(), 10);
  

可以提供字符串'fast'和'slow'[...]如果提供了任何其他字符串,或者省略duration参数,则使用400毫秒的默认持续时间。