用jquery来实现类似“网易新闻”横向标题滑动的移动端页面

HTML:
<div id="navbar">
<div id='navbar_content' style="left:0px;">
<div class="channel active">
<span>shouye</span>
</div>
<div class="channel">
<span>shouyeshouye</span>
</div>
<div class="channel">
<span>shouyeshouyeshouyeshouyes</span>
</div>
<div class="channel">
<span>shouye</span>
</div>
<div class="channel">
<span>shouye</span>
</div>
<div class="channel">
<span>shouye</span>
</div>
<div class="channel">
<span>shouye</span>
</div>
<div class="channel">
<span>shouye</span>
</div>
<div class="channel">
<span>shouye</span>
</div>
</div>
</div>
</div>
CSS:
#navbar{
background: rgba(247,247,247,0.95);
overflow: hidden;
position: relative;
text-align: center;
font-size: 1em;
padding-left: 5px;
line-height: 28px;
}
#navbar_content{
font-size: 1em;
text-align: left;
white-space: nowrap;
position: relative;
}
.channel{
vertical-align: top;
display: inline-block;
padding: 0 5px;
color: rgba(0,0,0,0.6);
font-weight: normal;
line-height: 26px;
border-bottom: 2px solid transparent;
}
.channel.active {
color: #1c88cd;
border-color: #1c88cd;
}
JS:
$(function(){
console.log($('#navbar').width())
var total_width=0;
var div_arr=$('.channel');
for(var i=0,len=div_arr.length;i<len;i++){
total_width+=div_arr[i].offsetWidth;
}
console.log(total_width);
var x,old_left;
$('#navbar_content')
.live('touchstart', function(e) {
console.log(e.originalEvent.pageX)
x = e.originalEvent.targetTouches[0].pageX // anchor point
old_left = parseInt(e.currentTarget.style.left);
})
.live('touchmove', function(e) {
var change = e.originalEvent.targetTouches[0].pageX - x;
e.currentTarget.style.left = (old_left+change)+"px";
})
.live('touchend', function(e) {
var left = parseInt(e.currentTarget.style.left);
var new_left;
var window_width=document.body.scrollWidth;
if (left < parseInt("-"+total_width)+$('#navbar').width()+100) {
new_left = "-"+(total_width-$('#navbar').width()+100);
}else if (left > 0) {
new_left = '0'
}
$(e.currentTarget).animate({left: new_left}, 500);
e.currentTarget.style.left = new_left;
});
});
用jquery来实现类似“网易新闻”横向标题滑动的移动端页面的更多相关文章
- IOS 类似网易新闻客户端内容滚动菜单跟随居中组件
需求分析: 1.类似网易新闻客户端页面滚动组件.菜单栏对应菜单项一直居中 2.点击菜单栏可以切换到对应的page 3.滑动页面可以自动切换相应的菜单.并且对应的菜单栏居中显示 4.初始化时可以自定义菜 ...
- 多个UITableView横向切换的简单实现(有点类似网易新闻)
实现多列表切换,位置监控,置顶等功能. 方法一: 创建一个TableView,在切换的时候请求各类目需要的数据,然后刷新列表,通过动画模拟出滑动效果. #import <UIKit/UIKit. ...
- 类似网易新闻 title栏 滚动时 文字放大&变色
http://files.cnblogs.com/files/n1ckyxu/ScrollTitleView.zip
- 类似掌盟的Tab页 Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签 (转)
原博客地址 :http://blog.csdn.net/xiaanming/article/details/10766053 本文转载,记录学习用,如有需要,请到原作者网站查看(上面这个网址) 之前 ...
- xamarin.forms之使用CarouselView插件模仿网易新闻导航
在APP中基本都能见到类似网易.今日头条等上边横向导航条,下边是左右滑动的页面,之前做iOS的时候模仿实现过,https://github.com/ywcui/ViewPagerndicator,在做 ...
- Android(java)学习笔记206:利用开源SmartImageView优化网易新闻RSS客户端
1.我们自己编写的SmartImageView会有很多漏洞,但是我们幸运的可以在网上利用开源项目的,开源项目中有很多成熟的代码,比如SmartImageView都编写的很成熟的 国内我们经常用到htt ...
- iOS动画案例(2) 仿网易新闻标题动画
由于产品的需要,做了一个和网易新闻标题类似的动画效果,现在新闻类的APP都是采用这样的动画效果,来显示更多的内容.先看一下动画效果: 由于这个动画效果在很多场合都有应用,所以我专门封装了一个控 ...
- <转>如何在iOS 7中设置barTintColor实现类似网易和 Facebook 的 navigationBar 效果
转自:i‘m Allen的博客 先给代码:https://github.com/allenhsu/CRNavigationController 1. 问题的表现 相信很多人在 iOS 7 的适配过程中 ...
- 动态权限<二>之淘宝、京东、网易新闻 权限申请交互设计对比分析
移动智能设备的快速普及,给生活带来巨大的精彩,但是智能设备上用户的信息数据很多,隐私数据也非常多,各种各样的app可能通过各种方式在悄悄的收集用户数据,而用户的隐私就变得耐人寻味了.比如之前的可以无限 ...
随机推荐
- [label][Node.js] Three content management systems base on Node.js
1. Keystonejs http://keystonejs.com/ 2. Apostrophe http://apostrophenow.org/
- makefile文件。批处理文件。
makefile文件: NAME=XXX #要编译的文件名 OBJS=$(NAME).obj #指定输出的目标文件名 ML_FLAG=/C /COF ...
- osgi.net框架
osgi.net是一个动态的模块化框架.它向用户提供了模块化与插件化.面向服务构架和模块扩展支持等功能.该平台是OSGi联盟定义的服务平台规范移植到.NET的实现. 简介 尤埃开放服务平台是一个基于. ...
- “全栈2019”Java第九十八章:局部内部类访问作用域成员详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十七章:类中嵌套接口的应用场景(拔高题)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 使用X-Pack插件来进行权限控制
1.为elasticsearch安装X-Pack插件.进入 elasticsearch根目录,执行: bin/elasticsearch-plugin install x-pack杀掉进程,重启es, ...
- form表单元素的值序列化成对象
/** * 将form表单元素的值序列化成对象 * param: form jquery form对象 */ var serializeObject = function(form) { var o ...
- JAVA构造函数(方法)
一.什么是构造函数 java构造函数,也叫构造方法,是java中一种特殊的函数.函数名与相同,无返回值. 作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法. 在现 ...
- [CISCO] 简单配置 Telnet 服务
[CISCO] 简单配置 Telnet 服务 一.Introduction Telnet 协议是一种应用层协议,使用于网际网路及区域网中,使用虚拟终端机的形式,提供双向.以文字字串为主的互动功能.属于 ...
- php-fpm epoll封装
参考 http://www.jianshu.com/p/dac223d7d9ad 事件对象结构 //fpm_event.h struct fpm_event_s { int fd; /* IO 文件句 ...