我有这个代码工作......
myScroller.scrollTo(0, -654, 200);
我也有这个工作....
myScroller.scrollToElement("#p4", "1s");
有没有办法为#id添加偏移量,例如scrollToElement(“#p4”+ 100,“1s”)?
答案 0 :(得分:1)
不,你不能。
myScroller.scrollToElement("#p4", "1s");
因为第一个参数应该是DOM元素的CSS选择器。因此,您可以使用"#p4" + 100
来应用CSS规则吗?如果您的答案是肯定的,那么您也可以不这样做。
如果您想在特定时间之后滚动到下一个元素,您可以尝试使用具有适当超时和增量标志的nth-child()
CSS属性。像这样的东西(假设你的元素在id myDiv 的父DIV元素中)
var incre = 0;
function customScrollToElement(){
myScroller.scrollToElement("#myDiv:nth-child(" + incre + ")", 10);
incre ++;
}
setTimeout(function(){
customScrollToElement();
},100);
答案 1 :(得分:1)
您可以通过首先使用jQuery获取相对于其父级的元素position来进行一些计算。
var left = -1 * ( $('#p4').position().left + 100 ),
top = -1 * ( $('#p4').position().top );
myScroller.scrollTo(left, top, 1000);
这将滚动元素右侧100像素