Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用marginLeft而不是scrollLeft通过箭头水平滚动div?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用marginLeft而不是scrollLeft通过箭头水平滚动div?

Javascript 如何使用marginLeft而不是scrollLeft通过箭头水平滚动div?,javascript,jquery,Javascript,Jquery,我试图通过更改div的边距来水平滚动div,因为使用scrollLeft属性需要我将溢出设置为隐藏在div上,这与悬停效果不符 但我不知道如何在pc和手机上设置div,使其水平滚动时与div左右两侧的窗口完全对齐 当边距为零时,我通过css(“margin-left”)计算实际边距集,成功地使左箭头停止工作。但我不知道如何对右箭头执行相同的操作,即当div到达滚动的末尾时 下面是div的外观(位于大网格下,包含多个项目)—— 从“jquery”导入$; export const LeftArro

我试图通过更改div的边距来水平滚动div,因为使用scrollLeft属性需要我将溢出设置为隐藏在div上,这与悬停效果不符

但我不知道如何在pc和手机上设置div,使其水平滚动时与div左右两侧的窗口完全对齐

当边距为零时,我通过css(“margin-left”)计算实际边距集,成功地使左箭头停止工作。但我不知道如何对右箭头执行相同的操作,即当div到达滚动的末尾时

下面是div的外观(位于大网格下,包含多个项目)——

从“jquery”导入$;
export const LeftArrow=节点=>{
var move=node.current;
var margin=parseInt($(move).css('margin-left');
控制台日志(页边距)
如果(边距<0){
$(移动)。设置动画(
{
边缘左侧:“+=330px”
},
“慢”
);
}
};
导出常量RightArrow=节点=>{
var move=node.current;
var margin=parseInt($(move).css('margin-left');
控制台日志(页边距)
$(移动)。设置动画(
{
边缘左侧:“-=330px”
},
“慢”
);
};

我想你需要计算所有的图像,减去最后一张

 var images = $(move).find('.movie-image');
 var width = 0;
 for(var i = 0; i < (images.length -1); i++){
   width += images.eq(i).width();
 }
var-images=$(移动).find('.movie-image');
var宽度=0;
对于(变量i=0;i<(images.length-1);i++){
宽度+=images.eq(i).width();
}
然后,仅当边距小于宽度时才设置动画

if(margin < width){
  $(move).animate({
    marginLeft: "-=330px"
  }, "slow");
}
if(边距<宽度){
$(移动)。设置动画({
边缘左侧:“-=330px”
}“慢”);
}

我想你需要计算所有的图像,减去最后一张

 var images = $(move).find('.movie-image');
 var width = 0;
 for(var i = 0; i < (images.length -1); i++){
   width += images.eq(i).width();
 }
var-images=$(移动).find('.movie-image');
var宽度=0;
对于(变量i=0;i<(images.length-1);i++){
宽度+=images.eq(i).width();
}
然后,仅当边距小于宽度时才设置动画

if(margin < width){
  $(move).animate({
    marginLeft: "-=330px"
  }, "slow");
}
if(边距<宽度){
$(移动)。设置动画({
边缘左侧:“-=330px”
}“慢”);
}