Javascript 如何使用变量+=

Javascript 如何使用变量+=,javascript,jquery,Javascript,Jquery,如何在scrollTop()函数中使用变量'+='+itemHeight+'px' 编辑 你的代码很好,只是做错了一件小事。 你也可以在按键上使用“-=”,这是你想要的相反效果。我将其更改为“+=”,将高度添加到当前值中,这就成功了。下面的代码是您需要的:) 钥匙 键控 片段 $(文档).ready(函数(){ //项目 变量框=$('.sel包装器'); 变量项=$('.sel-li'); var active=$('.sel.active'); var itemHeight=$(item)

如何在scrollTop()函数中使用变量
'+='+itemHeight+'px'


编辑
你的代码很好,只是做错了一件小事。 你也可以在按键上使用“-=”,这是你想要的相反效果。我将其更改为“+=”,将高度添加到当前值中,这就成功了。下面的代码是您需要的:)

钥匙

键控

片段

$(文档).ready(函数(){
//项目
变量框=$('.sel包装器');
变量项=$('.sel-li');
var active=$('.sel.active');
var itemHeight=$(item).outerHeight();//项高度
控制台日志(itemHeight);
$(项)。在('单击',函数()上){
$(item.removeClass('active');
$(this.addClass('active');
});
//
var计数器=0;
$(文档).keydown(函数(事件){
变量框=$('.sel包装器');
变量项=$('.sel-li');
var active=$('.sel.active');
//钥匙
if(event.which==38){
$(框)。停止()。设置动画({
scrollTop:'-='+itemHeight
}, 100);
event.preventDefault();
//如果活动项是第一个子项
if(active.index()!==0){
$(活动).removeClass('active').prev().addClass('active');
console.log('123');
}
}
//键控
如果(event.which==40){
$(框)。停止()。设置动画({
scrollTop:'+='+itemHeight
}, 100);
event.preventDefault();
//如果活动项是最后一个子项
if(active.index()!==item.length-1){
$(活动).removeClass('active').next().addClass('active');
}
}
计数器++;
});
});
*{
框大小:边框框;
字体系列:无衬线;
}
身体{
保证金:0;
填充:0;
}
.行{
宽度:100%;
}
.sel包装器{
填充:10px0;
溢出y:自动;
保证金:20px自动;
宽度:200px;
高度:100px;
边框:1px纯黑;
}
塞勒{
列表样式:无;
填充:0;
保证金:0;
}
李先生{
填充:4px10px;
光标:指针;
-webkit过渡:所有0.3轻松输入输出;
-moz转换:所有0.3秒都易于输入输出;
过渡:所有0.3秒的缓进缓出;
}
李:悬停{
背景:rgba(60,63,65,0.49);
}
.sel.li.active{
背景:#1A8BF;
颜色:#fff;
-webkit过渡:所有0.3轻松输入输出;
-moz转换:所有0.3秒都易于输入输出;
过渡:所有0.3秒的缓进缓出;
}
/*#sourceMappingURL=style.css.map*/

  • 123
  • 一,
  • 二,
  • 三,
  • 四,
  • 五,
  • 六,
  • 七,
  • 八,
  • 九,
  • 十,

Remove`+'px``像素是您提供MCVE复制问题所需的默认单位
仍然不起作用
并没有真正的帮助…您可以在StackSnippet/JSFIDLE
事件上创建实时演示。如果浏览器中的
不起作用,请尝试
事件。keyCode
。所有现代浏览器都提供通常通过单击
F12
打开的调试工具。转到
控制台
选项卡,在问题中添加错误(如果有)。
var itemHeight = $(item).height(); // item height

        //keyup
        if (event.which == 38) {
            $(box).stop().animate({scrollTop: '-=' + itemHeight + 'px'}, 100);
            event.preventDefault();

            console.log('-='+ itemHeight + 'px');

            // if active item is first child
            if (active.index() !== 0) {
                $(active).removeClass('active').prev().addClass('active');
                console.log('123');
            }
        }
  $(box).stop().animate({
    scrollTop: '-=' + itemHeight
  }, 100);
  $(box).stop().animate({
    scrollTop: '+=' + itemHeight
  }, 100);