效果图:

     

代码实现 (其中使用了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滚动样式的更多相关文章

  1. Android 6.0 中TimePicker显示为滚动样式的方法

    在Android6.0中,TimePicker控件的默认样式为转盘的样式,就像这个样子: 如果想要显示为之前的滚动样式的话也很简单,只要在布局文件中设置TimePicker的timePickerMod ...

  2. js自定义滚动样式

    <!DOCTYPE html> <html lang="en"> <head> <style type='text/css'> ht ...

  3. css 控制滚动样式

    ::-webkit-scrollbar{width: 8px; height: 8px;}::-webkit-scrollbar-button:vertical{display:none;}::-we ...

  4. DIV滚动样式

    .divScroll{     OVERFLOW:auto;        scrollbar-face-color: #FFFFFF;        scrollbar-shadow-color: ...

  5. html之CSS样式学习笔记

    本文内容: 字体样式 文本样式 背景样式 尺寸样式 盒子模型 边框样式 边距样式 浮动布局 定位布局 [CSS3]伸缩布局 标签显示方式 列表样式 [CSS3]过渡样式 [CSS3]变换样式之2D变形 ...

  6. 20 个用于处理页面滚动效果的 jQuery 插件

    对设计和开发一个网站来说,web开发者不能低估了网站滚动效果的重要性.如今,设计者们都视为一大挑战了,在网站中设计出吸引眼球的高效视觉滚动效果.幸运的是有各种各样的jquery 滚动插件可供他们使用, ...

  7. 图片文字滚动插件jQuery Scrollbox

    图片文字滚动插件jQuery Scrollbox附件中提供了五种图片.文字滚动样式,只需调用jquery库和jQuery Scrollbox插件,然后再加一段简单的jquery代码即可使用,兼容性良好 ...

  8. Javascript和jquery事件--滚动条事件和自定义滚动条事件样式

    很想把滚动条事件跟鼠标滚轮事件放在一起,那就直接写在这一篇了.除了事件以外,对滚动条样式的调整也记在这里吧. 滚动条是浏览器的默认事件,使用overflow:auto/scroll都有可能出现,它的默 ...

  9. (五十三)c#Winform自定义控件-滚动文字

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

随机推荐

  1. 利息?hii

    #include<stdio.h> void main() { for(;;) { float bj,lx=0,ll,d; printf("输入本金:"); scanf ...

  2. mongodb的一些小总结

    mongodb的安装,官网下载想要的版本,可视化工具mongovue(注意不支持mongodb3.0以上的版本) 下载mis安装,解压后bin,... 1.配置环境变量,将H:\mongodb\mon ...

  3. Oracle 数据库简单操作

    现在大型企业一般都用Oracle数据库,Oracle数据库在一般采用expdp,impdp 导出导入数据,但是在操作中经常会遇到一些问题.下面来浅析这些问题. 1. 导出数据 一般导出数据的时候需要建 ...

  4. python解析robot framework的output.xml,并生成html

    一.背景 Jenkins自动构建RF脚本,生成的RF特有HTML报告不能正常打开. 需求:用Python解析测试报告的xml数据,放在普通HTML文件中打开 二.output.xml数据 三.用pyh ...

  5. java中调用xml的方法:DocumentBuilderFactory

    具体的使用方法如下: (1)得到 DOM 解析器的工厂实例 DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance(); (2 ...

  6. Linux 文件访问权限

    定义:<sys/stat.h> 每个文件有9个访问权限,可将其分为3类: 标记 含义 S_IRUSR 用户读 S_IWUSR 用户写 S_IXUSR 用户执行 S_IRGRP 组读 S_I ...

  7. Erlang中如何在同一台机器上运行多个erlang节点?

    首先打开shell,然后在打开cmd输入:erl -sname bilbo  这样就启动了一个gandal的erlang节点. 如图:

  8. 自定义带动画的Toast

    一.style样式: 1.  // 移动和透明渐变结合的动画 <style name="anim_view">        <item name="@ ...

  9. Haskell Tuple相关总结

    一.相关操作 zip:将两个List合并成一个元组序对的List. fst:返回元组序对第一个元素. snd:返回元组序对第二个元素. PS:元组序对是元组中只有两个元素的元组. 二.与List的比较 ...

  10. js图片放大效果

    实现购物网站里的图片放大效果,jqzoom很好用.今天才接触它,很快就上手了.看了一个示例,在放大图像上方貌似有水印,后经排查,原来是图片的标题,然后设置title为false,搞定.