介绍:类似于实现ios通讯录中右侧字母,快速导航到联系人的效果,如图:

Html代码如下,分别是字母和港星名字的排序:

         <input type="text" id="searchBox" />
<ul id="letter">
<li>C</li>
<li>L</li>
<li>D</li>
<li>E</li>
<li>F</li>
<li>G</li>
<li>H</li>
<li>X</li>
<li>Z</li>
</ul><br />
<ul id="dataSet">
<li>刘德华</li>
<li>黄日华</li>
<li>张学友</li>
<li>谢霆锋</li>
<li>陈奕迅</li>
<li>陈冠希</li>
<li>郑伊健</li>
<li>郭富城</li>
<li>黄秋生</li>
<li>杜琪峰</li>
<li>梁朝伟</li>
</ul> </div>

CSS代码如下:

     <style>
#dataSet li { height:100px
}
#letter{
width:4rem;font-size:1rem; color: #; position:fixed; top:.7rem; right:; z-index:; background-color:#fff; text-align:center; text-transform:uppercase;
}
#letter li{
height:2rem; line-height:2rem;
}
</style>

JS代码:给港星名称默认排序,并给各li,添加pinyin属性,代码如下:

     //初始化排序
function getPinYin() {
var set = $("#dataSet li");
$.each(set, function (index,value) {
$(this).attr("pinyin", $(this).toPinyin());
});
//for (var i = 0; i < set.length; i++) {
// set.eq(i).attr("pinyin", set.eq(i).toPinyin())
//}
var arr = [];
for(var i=;i<set.length;i++)
{
arr.push(set[i]);
}
arr.sort(function (a, b) {
var first = $(a).attr("pinyin");
var second = $(b).attr("pinyin");
//return $(a).attr("pinyin") - $(b).attr("pinyin");
if (first < second) return -;
if (first > second) return ;
return ;
});
for(var i=;i<arr.length;i++)
{
$("#dataSet").append(arr[i]);
}
}
</script>

其中$.toPinyin()来自jQuery.Hz2Py-min.js,可以从互联网上下载得到。该方法是获取中文的拼音,效果如图:

JS代码:点击右侧的导航字母,将窗口导航到指定的位置,代码如下:

     function letterClick()
{
$("#letter li").click(function () {
var list = $("#dataSet li");
var oLetter = $("#letter li");
var $this = $(this);
var oI = oLetter.index($this);
var oText = oLetter.eq(oI).text();
var first = true; var offset = ;
for(var i=;i<list.length;i++)
{
if(list.eq(i).attr("pinyin").charAt().toUpperCase()==oText)
{
offset = list.eq(i).offset().top;
break;
}
}
$("html,body").animate({ scrollTop: offset }, );
})
}

注意,将窗口滚动到指定位置用的是animate方法。

当点击G时,窗口顶部导航到郭富城,总体效果如图:

号外:莫不是网站中“回到顶部”的按钮也是相同的实现方式。

JQuery根据字母检索元素并导航到指定位置的更多相关文章

  1. jquery使用replaceWith替换元素,但是替换的位置不对应的问题

    $("#itemList").replaceWith(htmlContent); 注: $("#itemList")处应为tr元素,如果是span元素或者div ...

  2. JQuery插件:ScrollTo平滑滚动到页面指定位置

    1.准备jQuery库和scrollTo.js插件. <script type="text/javascript" src="js/jquery.js"& ...

  3. Java_集合操作_将元素插入List的指定位置

    package test; import java.util.ArrayList; import java.util.List; public class test { public static v ...

  4. jQuery实现将div中滚动条滚动到指定位置的方法

    1.JS代码: onload = function () { //初始化 scrollToLocation(); }; function scrollToLocation() { var mainCo ...

  5. javascript数组在指定位置添加和删除元素

    在JavaScript中,Array对象提供了一个强大的splice()方法,利用这个方法可以达到在数组的指定位置添加和删除元素的目的. 指定位置删除元素 要在指定位置删除元素,可以使用splice( ...

  6. jQuery学习笔记---兄弟元素、子元素和父元素的获取

    我们这里主要总结jQuery中对某元素的兄弟元素.子元素和父元素的获取,原声的Javascript代码对这些元素的获取比较麻烦一些,而jQuery正好对这些方法进行封装,让我们更加方便的对这些元素进行 ...

  7. jQuery防京东浮动网站楼层导航代码

    jQuery防京东浮动网站楼层导航代码   <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml" ...

  8. 解析Jquery取得iframe中元素的几种方法

    iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作,需要的朋友可以参考下   DOM方法:父窗口操作IFRAME:window.frames[&q ...

  9. jQuery初探 jQuery选取和操纵元素的特点

    jQuery初探 jQuery选取和操纵元素的特点 JavaScript选取元素 先来看看不用jQuery的时候我们是怎么处理元素选取的. JavaScript选取元素的时候,可以根据id获取元素,当 ...

随机推荐

  1. 常用的http网页错误代码表---------495引发的一个简单到爆,但基于国内环境只能呵呵呵的血案

    敲代码敲出了个网页错误代码 495. 然后,正常的跑去百度,看了一堆还是没有完整的网页错误代码,应该说国内的环境的网页错误代码表只有官方的那几个,那么只能FQ了. 去到谷歌,一查全是俄语,乐了,明白是 ...

  2. HTML5利用FormData对象实现显示进度条的文件上传

    摘自:https://blog.csdn.net/q1056843325/article/details/53759963 自己做是按这个实现的,兼容性还不错 完整简约的解决方案 下面的代码清单是包括 ...

  3. 使用gulp-uncss精简css,去除冗余代码

    写html页面的时候,多修改几次就会出现很多无用的css代码,下面使用gulp-uncss来精简css文件,去掉没用的css代码 1.首先找个目录创建一个gulp项目在命令行输入:npm init   ...

  4. 第十七章 提升用户体验 之 使用MVC扩展功能控制程序行为

    1. 概述 ASP.NET MVC具有很好的扩展性,每一个核心功能都可以被扩展.重写 和 定制. 本章内容包括:实现MVC过滤器和controller工厂.使用 action results,view ...

  5. Linux netstat命令详解和使用例子(显示各种网络相关信息)

    netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...

  6. spring data jpa 简单使用

    通过解析方法名创建查询 通过前面的例子,读者基本上对解析方法名创建查询的方式有了一个大致的了解,这也是 Spring Data JPA 吸引开发者的一个很重要的因素.该功能其实并非 Spring Da ...

  7. 学JS的书籍

    1.JavaScript DOM 编程艺术 [说明] 这本书最大的特点就是简明易懂,循序渐进,适合初学者,非常容易上手. 计划:三天读完 读书总结:待写 2.Javascript权威指南 特点是权威. ...

  8. 关于原生javascript的this,this真是个强大的东东

    最近一直坐在东钿微信服务平台,上上级领导提出一个要求,就是微信分享. 因为首页是一个tab切换页,领导想在分享的时候区分上产调还是评估.我研究了很久很久,一直都是失败,今天领导又问了.于是我就向我们老 ...

  9. Python+selenium之疑难点解决之去除readonly的限制

    去除文本框的readonly只读模式的限制 如图所示:去除卡号readonly限制 代码如图所示: js = 'document.getElementById("cardNo"). ...

  10. 如何在Sierra运行 Specials K 的patch

    https://github.com/ApolloZhu/CORE-Keygen-and-Special-K-for-Sierra-Utility/blob/master/Special%20K%20 ...