如果不使用流行的scrollTo插件,如何滚动到页面/ div的垂直中间(50%)?
答案 0 :(得分:4)
这会将div的内部滚动滚动到它的垂直中间
var myDiv = $("#yourdiv");
var scrollto = myDiv.offset().top + (myDiv.height() / 2);
myDiv.animate({ scrollTop: scrollto});
答案 1 :(得分:1)
$("#centralize-ver").click(function(){//centralize vertical
var scrollableDivJ=$("#scroll-div");
scrollableDivJ.scrollTop("1000000");//scroll to max
var scrollHeight=scrollableDivJ.prop("scrollHeight");
var diff=(scrollHeight-scrollableDivJ.scrollTop())/2;
var middle=scrollHeight/2-diff;
scrollableDivJ.scrollTop(middle);
});
$("#centralize-hor").click(function(){//centralize horizontal
var scrollableDivJ=$("#scroll-div");
scrollableDivJ.scrollLeft("1000000");//scroll to max
var scrollWidth=scrollableDivJ.prop("scrollWidth");
var diff=(scrollWidth-scrollableDivJ.scrollLeft())/2;
var middle=scrollWidth/2-diff;
scrollableDivJ.scrollLeft(middle);
});
替换"#scroll-div"与你的div。 "主体"我没有为我工作。
这是唯一适合我的解决方案。实际上它是一个2小时尝试的错误解决方案,可以很好地完成它的工作。也许有人可以解释为什么scrollTop永远不会达到道具的价值(" scrollheight")并且必须编写diff和middle的书面计算。