stellar.js视差滚动插件中的showElement方法总是在元素一出现在视口就执行,能否改成元素到达视口中央才执行?
这是stellar插件的中文文档,如乱码请将字符编码改成unicode
$().stellar({
// 自定义元素如何出现和消失
hideElement: function($elem) { $elem.hide(); },
showElement: function($elem) { $elem.show(); }
})
stellar.js视差滚动插件中的showElement方法可以在元素出现的那一刻执行用户自定义的函数。
然而,这个方法总是在元素一出现在视口就执行,能否改成元素到达视口中央才执行?
jquery web前端开发 jquery插件 JavaScript
某月某日某某人
9 years, 8 months ago
Answers
var rect=element.getBoundingClientRect用于获得页面中某个元素相对浏览器视窗的位置
根据你的需求判断rect.top是否在你期望的位置
如果是,就显示;否则继续等待
$().stellar({
// 自定义元素如何出现和消失
hideElement: function($elem) {
$elem.hide();
},
showElement: function($elem) {
var rect=$elem[0].element.getBoundingClientRect();
if(rect.top<=你期望的位置){
$elem.show();
}
}
});
机智的绅士暮
answered 9 years, 8 months ago