jQuery居中元素scrollleft计算方法示例


Posted in Javascript onJanuary 16, 2017

本文实例讲述了jQuery居中元素scrollleft计算方法。分享给大家供大家参考,具体如下:

如果需要将某个元素 在可以滚动元素(scroll)中设置为居中计算方法为:

需要的scrollleft + 普通居中时候的offsetLeft
= 当前的scrollleft+当前元素的offsetLeft
= 固定的当前元素在整个滚动条中距离左边的位置

DEMO示例:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
  <script src="jquery.js"></script>
  <style>
    ul, li {
      padding: 0px;
      margin: 0px;
      list-style: none;
    }
    ul {
      width: 1000000px;
    }
    li {
      height: 100px;
      float: left;
      border: 1px solid red;
    }
    li.selected {
      background-color: yellow;;
    }
  </style>
</head>
<body>
<div class="container" id="J_container"
style="width: 200px;height: 100px;border:1px solid gray; overflow-x: scroll; overflow-y: hidden;">
  <ul>
    <li>测试1</li>
    <li>测试1</li>
    <li>测试1</li>
    <li>测试1</li>
    <li>测试1</li>
    <li>测试1</li>
    <li>测试1</li>
    <li class="selected">请将我居中</li>
    <li>测试1</li>
    <li>测试1</li>
  </ul>
</div>
<script>
  $(function () {
    var item = $(".selected");
    var container = $("#J_container");
    var itemOffset = item.offset();
    var itemOffsetLeft = itemOffset.left + container.scrollLeft();
    var centerLeft = ( container.width() - item.width()) / 2;
    container.scrollLeft(itemOffsetLeft - centerLeft);
  })
</script>
</body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
JQuery与Ajax常用代码实现对比
Oct 03 Javascript
Javascript Jquery 遍历Json的实现代码
Mar 31 Javascript
jQuery事件绑定与解除绑定实现方法
Apr 15 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 Javascript
vue 中自定义指令改变data中的值
Jun 02 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
Vue自定义指令详解
Jul 28 Javascript
详谈构造函数加括号与不加括号的区别
Oct 26 Javascript
Vue 拦截器对token过期处理方法
Jan 23 Javascript
JS查找孩子节点简单示例
Jul 25 Javascript
微信小程序国际化探索实现(附源码地址)
May 20 Javascript
Vue中computed和watch有哪些区别
Dec 19 Vue.js
jQuery使用正则表达式替换dom元素标签用法示例
Jan 16 #Javascript
JavaScript日期选择功能示例
Jan 16 #Javascript
jquery——九宫格大转盘抽奖实例
Jan 16 #Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
Jan 16 #Javascript
Node.js中用D3.js的方法示例
Jan 16 #Javascript
JavaScript实现的select点菜功能示例
Jan 16 #Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
Jan 16 #Javascript
You might like
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
PHP完整的日历类(CLASS)
2006/11/27 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
vue的全局变量和全局拦截请求器的示例代码
2018/09/13 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
python em算法的实现
2020/10/03 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
css3 transform属性详解
2014/09/30 HTML / CSS
一个C/C++编程面试题
2013/11/10 面试题
非常详细的C#面试题集
2016/07/13 面试题
材料物理专业大学毕业生求职信
2013/10/15 职场文书
大学生演讲稿
2014/04/25 职场文书
2014年督导工作总结
2014/11/19 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android