为了账号安全,请及时绑定邮箱和手机立即绑定

jquery代码转换成原生js?下面的这段代码转换成原生js怎么写呢?

jquery代码转换成原生js?下面的这段代码转换成原生js怎么写呢?

语兮 2016-08-16 16:18:28
<script> $(function(){  $(window).scroll(function(){   var scrollTop=$(this).scrollTop();   $("img").offset({top:scrollTop+100});  }); })</script>
查看完整描述

3 回答

?
闹小志

TA贡献75条经验 获得超42个赞

一张图片悬浮在页面上,根据你的jq代码改写如下:

window.onscroll=function(){
     var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; 
     var obj = document.getElementById("img");
     //console.log("offsetTop:"+obj.offsetTop);
     //console.log("scrollTop:"+scrollTop);
     obj.offsetTop = scrollTop + 100;
}

思路没错,但是offsetTop每次的输出都是一个值,没有变化,上网找了找,发现原来offsetTop是可读不可写的,也就是只能用它来获取,但不能设置。建议此处可绝对定位然后换成更改top值!

over!

查看完整回答
反对 回复 2016-08-16
  • 语兮
    语兮
    已经按照您提的意见更改了,但仍然没有达到效果
  • 语兮
    语兮
    图片还是会跟着滚动条滚动
  • 闹小志
    闹小志
    你指的是 按照绝对定位更改top值吗?
点击展开后面1
?
柠檬酸钠

TA贡献331条经验 获得超534个赞

window.addEventListener("scroll",function () {
  var scrollTop = this.scrollTop;
  var imgs = document.getElementsByTagName("img");
  for (var i= 0;i < imgs.length;i++) {
    imgs[i].offsetTop = scrollTop;
  }
});

查看完整回答
反对 回复 2016-08-16
  • 语兮
    语兮
    我想要的效果是一张图片一直悬浮在页面中 而且你的代码没有获取到scrollTop
  • 柠檬酸钠
    柠檬酸钠
    何以见得我没有获取scrollTop
  • 3 回答
  • 0 关注
  • 2433 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信