viewBox A-Z滚动样式
效果图:

代码实现 (其中使用了ionic框架。。。)
html 代码:
<ion-content class='page-location'>
<div class='AZLists A'>
<div class='AZLists-title'>A</div>
..............
</div>
<div class='AZLists B'>
<div class='AZLists-title'>B</div>
..............
</div>
.......
</ion-content>
此部分代码可以用ng-repeat写
<div class='a-lists'>
<div ng-repeat='n in navItem' >
<p class='{{n}}-nav-item'>{{n}}</p>
</div>
</div>
<div class='pop-AZ'></div>
css 代码
.a-lists{
position: fixed;
width:25px;
margin: auto;
background-color:transparent;
padding-top:5px;
padding-bottom:5px;
right:;top:100px;
z-index:;
}
.a-lists p{
margin:;padding:;
font-size:8px;
text-align: center;
color:#;
line-height: 14px;
}
.AZLists-title{
width:%;
height:20px;
background-color: #ddd;
color:#;
line-height: 20px
}
.pop-AZ{
width:60px;
height:60px;
border-radius: 4px;
background-color: rgba(,,,.);
color:#FFF;
font-size:24px;
z-index:;
line-height:60px;
text-align: center;
position: fixed;
margin-left:-30px;
left:%;
top:{{popAZTop}};
display: none;
}
js 代码
$scope.popAZTop=(window.innerHeight/2-30)+'px';
var _items=[];
for(var k=0;k<26;k++){
_items[k]=String.fromCharCode(65+k);
}
$scope.navItem=_items;
setTimeout(function(){
for(var i=0;i<_items.length;i++){
var _azitem=document.querySelector('.'+_items[i]+'-nav-item');
_azitem.addEventListener('touchstart',function(e){
$('.a-lists').css('background-color','#ddd');
var _tip=$(this).text();
if($('.'+_tip).offset()!==undefined){
var _scrolltop =$('.'+_tip).offset().top-$('.A').offset().top;
$('ion-content').animate({
scrollTop: _scrolltop},1
);
}
$('.pop-AZ').css('display','block');
$('.pop-AZ').empty().html(_tip);
})
_azitem.addEventListener('touchmove',function(e){
e.preventDefault();
var touch=e.targetTouches[0];
var _item=parseInt((touch.pageY-100)/14)
if(_item>=_items.length){
_item=(_items.length-1);
}else if(_item<0){
_item=0;
}
var event = document.createEvent('Events');
event.initEvent('touchstart', true, true);
document.querySelector('.'+_items[_item]+'-nav-item').dispatchEvent(event);
$('.pop-AZ').css('display','block');
$('.pop-AZ').empty().append(_items[_item]);
})
_azitem.addEventListener('touchend',function(e){
e.preventDefault();
$('.a-lists').css('background-color','transparent');
$('.pop-AZ').css('display','none');
})
}
},200);
着笔匆忙,仅实现原理,没有封装成插件!代码也显粗糙~
viewBox A-Z滚动样式的更多相关文章
- Android 6.0 中TimePicker显示为滚动样式的方法
在Android6.0中,TimePicker控件的默认样式为转盘的样式,就像这个样子: 如果想要显示为之前的滚动样式的话也很简单,只要在布局文件中设置TimePicker的timePickerMod ...
- js自定义滚动样式
<!DOCTYPE html> <html lang="en"> <head> <style type='text/css'> ht ...
- css 控制滚动样式
::-webkit-scrollbar{width: 8px; height: 8px;}::-webkit-scrollbar-button:vertical{display:none;}::-we ...
- DIV滚动样式
.divScroll{ OVERFLOW:auto; scrollbar-face-color: #FFFFFF; scrollbar-shadow-color: ...
- html之CSS样式学习笔记
本文内容: 字体样式 文本样式 背景样式 尺寸样式 盒子模型 边框样式 边距样式 浮动布局 定位布局 [CSS3]伸缩布局 标签显示方式 列表样式 [CSS3]过渡样式 [CSS3]变换样式之2D变形 ...
- 20 个用于处理页面滚动效果的 jQuery 插件
对设计和开发一个网站来说,web开发者不能低估了网站滚动效果的重要性.如今,设计者们都视为一大挑战了,在网站中设计出吸引眼球的高效视觉滚动效果.幸运的是有各种各样的jquery 滚动插件可供他们使用, ...
- 图片文字滚动插件jQuery Scrollbox
图片文字滚动插件jQuery Scrollbox附件中提供了五种图片.文字滚动样式,只需调用jquery库和jQuery Scrollbox插件,然后再加一段简单的jquery代码即可使用,兼容性良好 ...
- Javascript和jquery事件--滚动条事件和自定义滚动条事件样式
很想把滚动条事件跟鼠标滚轮事件放在一起,那就直接写在这一篇了.除了事件以外,对滚动条样式的调整也记在这里吧. 滚动条是浏览器的默认事件,使用overflow:auto/scroll都有可能出现,它的默 ...
- (五十三)c#Winform自定义控件-滚动文字
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
随机推荐
- C plus plus study note (one)
What is an object ? Object = Entity ; Object may be -- visible or -- invisible Object is variable in ...
- 区分IE版本的三个方法
我们通常使用IE条件判断语言来处理IE的CSS问题,但其实还是有其他的一些方法来处理IE的CSS bug的. 一.IE条件判断语句 IE条件判断语句也许是用的最多的区分IE版本(IE6, IE7, I ...
- F4搜索帮助 带回多个值
昨天群里有人问,就自己试了一下,POV执行在走PAI之前,所以空表行的时候TABLE里是没有数据的,所以一开始想用MIDOFY的想法看来不完善,可以再空表时做个APPEND. 后来又换了个想法,直 ...
- Scala学习(二)
二.Scala基础 1.变量:三种修饰符 -> ①val 常亮②var 变量③lazy val 惰性变量求值 2.类型 3.代码块 Block {exp1;exp2} 或 { exp1 exp2 ...
- Python--逆序打印
才开始学习Python,我个人喜欢边看实例边学习其中的知识点,于是在网上找到了“Python100例”, 案例很不错,但是其中有几个例子不能正确实现,比如第29个例子--“给一个不多于5位的正整数, ...
- javascript 中的借鸡生蛋
如题所说,其实指的是 js 中的内置函数和 apply 的结合使用.这种用法很讨巧,读过 jQuery 源码的小伙伴都知道,它在里面被应用的非常广泛和精妙! 梨子:找出一个数组中的最大值和最小值 普遍 ...
- html、css基础注意点
之前第一次接触html,一直使用table进行布局,十分麻烦还相当丑陋,造成当初并没有多大的兴趣,直到半年前开始接触到了使用div+css编写页面,才对它有了兴趣.作为一个菜鸟记录自己的点滴教训与收获 ...
- HTML 中级
abbr(表示它所包含的文本是一个更长的单词或短语的缩写形式): <p>This web site is about <abbr title="HyperText Mark ...
- js生成[n,m]的随机数 以及实际运用
Math.ceil(); //向上取整. Math.floor(); //向下取整. Math.round(); //四舍五入. Math.random(); //0.0 ~ 1.0 之间的一 ...
- web app性能大讨论
1.Application:应用,为用户完成一个或多个功能而设计的程序: 2.Internet or Intranet:运行于广域网或局域网之上: 3.Browser-supported langua ...