开发者社区> 问答> 正文

stellar.js视差滚动插件中的showElement方法总是在元素一出现在视口就执行,能否改成元素到达视口中央才执行?

问题对人有帮助,内容完整,我也想知道答案0 问题没有实际价值,缺少关键内容,没有改进余地
这是stellar插件的中文文档,如乱码请将字符编码改成unicode

$().stellar({
  // 自定义元素如何出现和消失
  hideElement: function($elem) { $elem.hide(); },
  showElement: function($elem) { $elem.show(); }
})

stellar.js视差滚动插件中的showElement方法可以在元素出现的那一刻执行用户自定义的函数。
然而,这个方法总是在元素一出现在视口就执行,能否改成元素到达视口中央才执行?

展开
收起
小旋风柴进 2016-03-26 10:03:03 2187 0
1 条回答
写回答
取消 提交回答
  • 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();
        }
     }
    });
    2019-07-17 19:15:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载