使用变量作为.animate的速度指示器

时间:2014-01-25 19:59:35

标签: jquery

我希望用户通过下拉菜单选择动画时间,我现在尝试了几个小时,但它无法正常工作。我是jQuery的新手,所以也许有人可以帮助我解决我的问题并向我描述错误。提前致谢

当我的代码是这样的时候,这个值会直接发布到变量上,但我认为,某种程度上缺少.on('change'),但我现在还没有。

这是我的jQuery设置:

$(function() {
    $('#engage').bind('click',function(event){
      var speed = $('#sol').val();            
      var $anchor = $(this);
        $('html, body').stop().animate({
            scrollLeft: $($anchor.attr('href')).offset().left
        }, speed);
        event.preventDefault();
        alert(speed);
    });
});

这是我的HTML设置:

    <form id="speed">
    <label for="sol">Speed</label>
    <select name="sol" id="sol" style="display:none;">
        <option value="1000">1000</option>
        <option value="2000">2000</option>
        <option value="4000">4000</option>
        <option value="8000">8000</option>
        <option value="16000">16000</option>
        <option value="25000">25000</option>
        <option value="50000">50000</option>
        <option value="100000">100000</option>
    </select>
</form>

2 个答案:

答案 0 :(得分:1)

()之后你遗漏了.val才能让它执行.. (*和开头的$ *)

使用

var speed = $('#sol').val();

答案 1 :(得分:1)

查看此行

var speed = ('#sol').val();

你忘了使用$ sign其他似乎没问题。