分享

js定位页面某个位置

 实力决定地位 2018-07-12
  <ul>
            <li><a href="javascript:;" data-tab="eat">吃饭</a></li>
            <li><a href="javascript:;" data-tab="sleep">睡觉</a></li>
            <li><a href="javascript:;" data-tab="walk">逛街</a></li>
        </ul>
        <div>
            <div data-tab="eat" style="background:cyan; height:500px;">
                吃饭
            </div>
            <div data-tab="sleep" style="background:lightgreen;height:2000px;">
                睡觉
            </div>
            <div data-tab="walk" style="background:LightSalmon;height:1000px;">
                逛街
            </div>
        </div>


​[].slice.call(document.querySelectorAll('a')).forEach(function (el) {
                      el.addEventListener('click', function () {
                            var target = document.querySelector('div[data-tab=' + this.getAttribute('data-tab') + ']')
                            target.scrollIntoView(true);
                      })
             })

​Jquery

​​$("#xxx").[0].scrollIntoView(true);

​不需要往跑的那么快,缓慢过去代码:

return cPageView.extend({
      pageid: 10320608681,
      hpageid: 10320608681,
      events: {
        "click .nav_list li ": "setHightLight",
      },
})


​-----------------------------------------------------------------------------
//设置标签选中,并且滚动到相应的位置
     setHightLight: function (e) {
       var obj = $(e.currentTarget);
       var _tag = this.$el.find('.nav_list li');
       var $innerText = this.$el.find('.fsp_hd');
       var items = $(".fs_prd_wrap").find('.item');
       this.$el.find('.nav_list li').removeClass('current');
       var itemIndex = "";
       var objCurrent = [];
       obj.addClass('current');
       var scrollMove = function (scrollTo, time) {
         var scrollFrom = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
         var count = 0;
         var every = 10;
         scrollTo = parseInt(scrollTo);
         time /= every;
 
         var interval = setInterval(function () {
           count++;
           document.documentElement.scrollTop = document.body.scrollTop = (scrollTo - scrollFrom) / time * count + scrollFrom;
           if (count >= time) {
             clearInterval(interval);
           }
         }, every);
       };
       for (var i = 0; i < items.length; i++) {
         var self = this;
         items[i].index = i;
         if (obj.index() == items[i].index) {
           items.each(function () {
             var currentItem = $(this);
             // items[i].scrollIntoView(false);    
             scrollMove(items[i].offsetTop-75, 500);
           });
           
           // console.log(items[i].index);
         }
       }
     },

 
 
 
 
 
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约