模拟锚点

当用a锚点时,安卓出现物理返回键无效。处理方法:

<!DOCTYPE html>
<html>
    <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <meta content="no-cache,must-revalidate" http-equiv="Cache-Control">
    <meta content="no-cache" http-equiv="pragma">
    <meta content="0" http-equiv="expires">
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
    <meta content="telephone=no, address=no" name="format-detection">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
    <meta name="x5-fullscreen" content="true">
    <meta name="full-screen" content="yes">
        <title>模拟锚点demo</title>
        <style>
            * {
                margin: 0;
                padding: 0;
                list-style: none;
            }

            a {
                text-decoration: none;
            }
            .slide {
                height: 500px;
            }
            .anchor-nav {
                display: flex;
                height: 30px;
                line-height: 30px;
                position: relative;
                border-bottom: 1px solid #ccc;
            }

            .anchor-nav .anchor-nav-cell {
                flex: 1;
                text-align: center;
            }

            .anchor-nav .anchor-nav-cell a {
                color: #333;
            }

            .anchor-table {
                margin: 0 4%;
                width: 92%;
            }

            .anchor-table .anchor-table-cell {
                position: relative;
            }

            .anchor-table .anchor-table-cell .target {
                position: absolute;
                left: 0;
                top: -30px;
            }
            .anchor-nav-wrapper {
                display: none;
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                z-index: 99;
                background: #fff;
            }
        </style>
    </head>

    <body>
        <div class="slide js-slide">

        </div>
        <div class="anchor-nav js-anchor-nav">
            <div class="anchor-nav-cell active">
                <a href="javascript:;" onclick="_scrollTo(‘1F‘)">商标</a>
            </div>
            <div class="anchor-nav-cell">
                <a href="javascript:;" onclick="_scrollTo(‘2F‘)">域名</a>
            </div>
            <div class="anchor-nav-cell">
                <a href="javascript:;" onclick="_scrollTo(‘3F‘)">认证</a>
            </div>
        </div>
        <ul class="anchor-table">
            <li class="anchor-table-cell">
                <a class="target" name="1F" id="1F">&nbsp;</a>
                <div class="anchor-detail">
                    <h1>商标</h1>
                    <p>龙华</p>
                    <p>龙华</p>
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                </div>
            </li>
            <li class="anchor-table-cell">
                <a class="target" name="2F" id="2F">&nbsp;</a>
                <div class="anchor-detail">
                    <h1>域名</h1>
                    <p>龙华</p>
                    <p>龙华</p>
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                </div>
            </li>
            <li class="anchor-table-cell">
                <a class="target" name="3F" id="3F">&nbsp;</a>
                <div class="anchor-detail">
                    <h1>认证</h1>
                    <p>龙华</p>
                    <p>龙华</p>
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                </div>
            </li>
        </ul>
        <div class="anchor-nav-wrapper js-anchor-nav-wrapper">
            <div class="anchor-nav">
                <div class="anchor-nav-cell active">
                    <a href="javascript:;" onclick="_scrollTo(‘1F‘)">商标</a>
                </div>
                <div class="anchor-nav-cell">
                    <a href="javascript:;" onclick="_scrollTo(‘2F‘)">域名</a>
                </div>
                <div class="anchor-nav-cell">
                    <a href="javascript:;" onclick="_scrollTo(‘3F‘)">认证</a>
                </div>
            </div>
        </div>
        <script type="text/javascript" src="js/jquery-2.1.3.min.js" ></script>
        <script type="text/javascript">

        var js_nav_wrapper=document.getElementsByClassName("js-anchor-nav-wrapper");
        var h_header = document.getElementsByClassName(‘js-anchor-nav‘)[0].clientHeight;

        window.onscroll=function(){
            var h = document.getElementsByClassName(‘js-slide‘)[0].offsetHeight;
            var h_topred = h ;

            var check=document.documentElement.scrollTop==0?document.body:document.documentElement;
            var obj=check.scrollTop;
            if (obj>h_topred) {
                js_nav_wrapper[0].style.display="block";
            }
            if (obj<=h_topred) {
                js_nav_wrapper[0].style.display="none";
            };
        }
            // 模拟锚点
            function getElementTop(element) {    
                var actualTop = element.offsetTop;    
                var current = element.offsetParent;    
                while(current !== null) {      
                    actualTop += current.offsetTop;      
                    current = current.offsetParent;    
                }    
                return actualTop;  
            }

            function _scrollTo(id) {    
                var _id = document.getElementById(id);
                var top = getElementTop(_id);   
                window.scrollTo(0, top);  
            }
        </script>
    </body>

</html>
时间: 2024-10-25 03:42:54

模拟锚点的相关文章

vue2.0模拟锚点实现定位平滑滚动

vue2.0模拟锚点实现定位平滑滚动 效果为点击哪一个标题,平滑滚动到具体的详情. 如果是传统项目,这个效果就非常简单.但是放到 Vue 中,就有两大难题: 1. 在没有 jQuery 的 animate() 方法的情况下,如何实现平滑滚动? 2. 如何监听页面滚动事件? 进行多次尝试之后,终于解决了这些问题 期间主要涉及到了 setTimeout 的递归用法,和 Vue 生命周期中的 mounted 首先导航处 <h3 class="current"><a href

正则表达式优化

正则表达式的优化总的来说就是尽可能精确,减少回溯次数,具体来说主要是以下几点: 如果你的正则工具支持,在不需要引用括号内文本的时候使用非捕获型括号:(?:expression) . 如果括号是非必须的,请不要加括号. 不要滥用字符数组,比如[.],请直接用\. . 使用锚点^ $ ,这会加速定位. 从两次中提取必须元素,如:x+写成xx*,a{2,4}写成aa{0,2}. 提取多选结构开头的相同字符,如the|this 改成th(?:e|is).(如果你的正则引擎不支持这么使用就改成th(e|i

[javascript] 模拟通讯薄锚点跳转

1 $(document).ready(function(){ 2 $('.box').mousedown(function(){ 3 $(this).bind('mousemove', function(e){ 4 if(e.target.tagName=="A"){ 5 location.hash = e.target.getAttribute('href') 6 } 7 }) 8 $(document).mouseup(function(){ 9 $('.box').unbind

单篇文章JS模拟分页

废话部分 前两天做了一个前台分页插件,支持ajax读取数据绑定前台 和 url带页码参数跳转两种方式.于是稍加改动,做了一个单篇文章js模拟分页的代码,为什么说是模拟分页呢?因为在服务器响应HTML请求的时候,就已经把全文回传给客户端了,只是我们通过js的方式,把全文隐藏,每次翻页至显示出我们需要的那一部分,而不是真正的按需要去发出HTML请求.所以,在做这个插件的时候去掉了ajax请求的功能及其附带参数,去掉了pageSize参数(恒等于1).这里就不讨论具体的技术细节了和上一篇的分页计算原理

iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。

转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage风格 目录[-] UIDynamicAnimator UIAttachmentBehavior(吸附) UIPushBehavior(推动) UIGravityBehavior(重力) UICollisionBehavior(碰撞) UISnapBehavior(捕捉) UICollectionVi

我用cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(二)

转载劳烦注明原作者,谢谢 ————————————————————我是分割线———————————————————— 上一章分析了Live场景中各个元素的作用,这一章开始来分析最关键的部分——打击物件的实现. 先说一下我使用的环境:Win8.1 + VS2013 + Cocos2d-x3.2 为后文作点准备工作: 1.  创建一个空的cocos2d-x项目: 2.  把HelloWorldScene类和它的两个源码文件改名.我使用的名称是MainScene: 3.  删掉MainScene类中多

JQuery实现锚点平滑滚动

     一般使用锚点来跳转到页面指定位置的时候,会生硬地立即跳转到指定位置,但是有些时候我们想要平滑地过渡到指定的位置,那么可以使用JQuery简单的实现这个效果: 比如,这里我们将通过点击<a>标签跳转到 id为content的指定位置那里. <a id="turnToContent" href="#content"></a> 然后呢,就在我们想要的位置设置id为content的内容块,这里用一个div模拟一篇不像文章的文章.

在VR中模拟用鼠标操作电脑并实现简单画图的小程序

(图没有录好,明天换一下) 一.概述 1.实现的基本操作是: 1)用手柄抓住黄色的方块代表手抓住鼠标. 2)通过移动手柄模拟鼠标移动,电脑屏幕上的光标跟着移动. 3)当光标移动到一个Button上时,Button高亮,离开时Button取消高亮,点击Button触发点击事件. 4)当点击Button之后,打开一个画图程序,可以用光标在颜色选择区选择一种颜色,然后在画图区根据光标的移动轨迹,画出选择颜色的光标移动路径的曲线: 2.脚本 1)ComputerController挂在代表电脑的Canv

CentOS系统启动及内核大破坏模拟实验

讲过了centos的启动流程,此时是不是想来点破坏呢?那就尽情的玩耍吧,记得在实验之前拍个快照,万一哪个环节错误恢复不回来了呢,毕竟数据无价,话不多说,开始. 一.删除伪系统根.(ramdisk文件) (1)模拟误操作删除ramdisk文件. ①模拟误删除initramfs-3.10.0-514.el7.x86_64.img文件. ②为当前正在使用的内核重新制作ramdisk文件 格式为:mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) (