代码拉取完成,页面将自动刷新
同步操作将从 Hooray/jquery-weui-contacts 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="//cdn.bootcss.com/weui/1.1.2/style/weui.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css">
<link rel="stylesheet" href="style.css">
<title>jquery-weui-contacts</title>
</head>
<body>
<div class="contacts-content"></div>
<ul class="navbar"></ul>
<div class="toast"></div>
<script src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
var letter = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
// 模拟数据生成
// 先生成联系人界面
var contactsHtml = '';
for(var i in letter){
contactsHtml +=
`<div class="weui-cells__title" index="` + letter[i] + `">` + letter[i] + `</div>
<div class="weui-panel weui-panel_access">
<div class="weui-panel__bd">
<a href="javascript:;" class="weui-media-box weui-media-box_appmsg">
<div class="weui-media-box__hd">
<img class="weui-media-box__thumb" src="http://fakeimg.pl/40">
</div>
<div class="weui-media-box__bd">
<h4 class="weui-media-box__title">` + letter[i] + `代码小睿</h4>
</div>
</a>
<a href="javascript:;" class="weui-media-box weui-media-box_appmsg">
<div class="weui-media-box__hd">
<img class="weui-media-box__thumb" src="http://fakeimg.pl/40">
</div>
<div class="weui-media-box__bd">
<h4 class="weui-media-box__title">` + letter[i] + `代码小睿</h4>
</div>
</a>
</div>
</div>`;
}
$('.contacts-content').html(contactsHtml);
// 再生成右侧字母导航
var navbarHtml = '';
for(var i in letter){
navbarHtml += '<li>' + letter[i] + '</li>';
}
$('.navbar').html(navbarHtml);
// 功能代码
var navbarOffset = []; // 用于存放字母导航每个字母所占用的位置
var tempheight = 0;
var step = $(document).outerHeight() / letter.length;
for(var i = 0; i < letter.length; i++){
navbarOffset.push({
start: tempheight,
end: tempheight + step
});
tempheight += step;
}
$('.navbar').on('touchstart', function(event) {
$(this).addClass('hover');
}).on('touchend', function(event) {
$(this).removeClass('hover');
$('.toast').text('').hide();
$('.navbar li').removeClass('selected');
}).on('touchmove', function(event) {
event.preventDefault();
var index;
// 根据当前手指 touch 位置的 clientY 值,依次去匹配,找到当前位于哪个字母上
for(var i in navbarOffset){
if(event.originalEvent.changedTouches[0].clientY >= navbarOffset[i].start && event.originalEvent.changedTouches[0].clientY <= navbarOffset[i].end){
index = i;
}
}
// 然后根据当前字母计算出联系人页面对应的字母标题距离页面顶部的偏移值,并用 scrollTop 定位到该位置
if(typeof index != 'undefined'){
$('.toast').text($('.navbar li:eq(' + index + ')').text()).show();
$('.navbar li:eq(' + index + ')').addClass('selected').siblings('li').removeClass('selected');
var setTop = $('.contacts-content [index="' + $('.navbar li:eq(' + index + ')').text() + '"]').offset().top + $('.contacts-content').scrollTop();
$('.contacts-content').scrollTop(setTop);
}
});
});
</script>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。