Javascript 如何使用marginLeft而不是scrollLeft通过箭头水平滚动div?
我试图通过更改div的边距来水平滚动div,因为使用scrollLeft属性需要我将溢出设置为隐藏在div上,这与悬停效果不符 但我不知道如何在pc和手机上设置div,使其水平滚动时与div左右两侧的窗口完全对齐 当边距为零时,我通过css(“margin-left”)计算实际边距集,成功地使左箭头停止工作。但我不知道如何对右箭头执行相同的操作,即当div到达滚动的末尾时 下面是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
从“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”
}“慢”);
}