用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可能通过各种方式在悄悄的收集用户数据,而用户的隐私就变得耐人寻味了.比如之前的可以无限 ...
随机推荐
- Hdu1874 畅通工程续 2017-04-12 18:37 48人阅读 评论(0) 收藏
畅通工程续 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submiss ...
- polymer-developer guide-registration and lifecycle
注册和声明周期 my = Polymer({ is: "proto-element", created: function() { this.innerHTML = 'create ...
- linux 用户/用户组添加修改删除(ubuntu/centos)
一.LINUX(UBUNTU/CENTOS)用户添加删除修改 1.建用户: adduser web //新建web用户 useradd web ...
- 关于数组以及c#学习问题
第二次作业我没注意看群通告,看到都3月8号,开始着手想用c#试着写写,才发现一些问题. a.鞠老的要求中必须原数据需要csv文件,csv文件不是太了解,网上简单查阅了一下------csv意思是逗号分 ...
- 数据库工具SQLite Expert Personal的简单使用
官方网站: sqliteexpert官方网址 - SQLite administration | SQLite Expert 先使用SQLite Expert Personal熟悉SQLite语句 插 ...
- Ceph 的基础数据结构 [Pool, Image, Snapshot, Clone]
原文链接:http://www.cnblogs.com/sammyliu/p/4843812.html?utm_source=tuicool&utm_medium=referral 1 Poo ...
- ceph 运维常用指令
集群 启动一个ceph 进程 启动mon进程 service ceph start mon.node1 启动msd进程 service ceph start mds.node1 启动osd进程 ser ...
- H - Birthday Paradox (生日悖论)
点击打开链接 Sometimes some mathematical results are hard to believe. One of the common problems is the bi ...
- Android中线程和线程池
我们知道线程是CPU调度的最小单位.在Android中主线程是不能够做耗时操作的,子线程是不能够更新UI的.在Android中,除了Thread外,扮演线程的角色有很多,如AsyncTask,Inte ...
- 阿里云ros实例
模板文件 { "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { " ...