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 相关文章推荐
Extjs学习笔记之四 工具栏和菜单
Jan 07 Javascript
使用Java实现简单的server/client回显功能的方法介绍
May 03 Javascript
JavaScript中number转换成string介绍
Dec 31 Javascript
JS+DIV+CSS实现仿表单下拉列表效果
Aug 18 Javascript
AngularJS应用开发思维之依赖注入3
Aug 19 Javascript
禁用backspace网页回退功能的实现代码
Nov 15 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 Javascript
原生JS实现几个常用DOM操作API实例
Jan 19 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
js 计算图片内点个数的示例代码
Apr 04 Javascript
JS匿名函数内部this指向问题详析
May 10 Javascript
JavaScript 数组去重详解
Sep 15 Javascript
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
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
javascript中如何处理引号编码&amp;#034;
2013/08/15 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
全面介绍javascript实用技巧及单竖杠
2016/07/18 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
vue中render函数的使用详解
2018/10/12 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
python中requests模块的使用方法
2015/04/08 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
Shell编程面试题
2012/05/30 面试题
销售业务实习自我鉴定
2013/09/23 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
捐助倡议书范文
2014/04/15 职场文书
奉献演讲稿范文
2014/05/21 职场文书
家属慰问信
2015/02/14 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书