jQuery 滚动条的初探索1.0

news/2024/7/10 23:33:48 标签: jQuery, 滚动条

一、PC端


<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

<!------------------------------------------css样式的影响原则:是否存在继承------------------------------------------>
<!--上下级,同级,浮动别-position和float(浮动且保持原位置级别)-->

<!--滚动条是浏览器右边顶部出现滚动条-->
<!--不做任何css设置情况下htmlh和body的高宽度-->
<!--html的高宽度:1349 x 2018,1349不包括左边的滚动条宽度值,缩小浏览器,html的宽度会缩小-->
<!--body的高宽度继承的是html的高宽度-->

<!--出现滚动条的原则:A标签元素设置一定的高宽度范围,A包含的内容超出了高宽度,则默认会出现滚动条,假如有div#a和div#b,a为父级,b为子级,a包含着b-->
<div id="scroll" style="overflow: scroll;height:200px;width:500px;">
    <div style="width:2500px;height:2000px;border:1px solid #ccc;background:#ccc;">
        <div id="div1">11111111111111111111111111111111111111111111111111111111111111111111111111</div>
        <div id="div2">22222222222222222222222222222222222222222222222222222222222222222222222222</div>
        <div id="div3">33333333333333333333333333333333333333333333333333333333333333333333333333</div>
        <div id="div4">44444444444444444444444444444444444444444444444444444444444444444444444444</div>
        <div id="div5">55555555555555555555555555555555555555555555555555555555555555555555555555</div>
        <div id="div6" style="position:relative;top:0px;left:0px;">
            <div id="div6_1" style="position:absolute;left:20px;top:15px;">此处为div-position:absolute,<br />是相对于div-position-relative的而言<br />点击position()方法测试按钮试试</div>
        </div>
    </div>
</div>
<button id="test">test</button>
<button id="position">position()方法测试</button>
<script type="text/javascript">
    $("#test").click(function () {
        //$("#scroll").scrollTop("300"); //瞬间值得,没有滑动过程
        //alert($("#scroll").scrollTop()); //即可设置值,亦可输出值

        //var scrollHeight = $('#scroll').prop("scrollHeight"); //滚动条的高度
        //$("#scroll").animate({scrollTop:scrollHeight}, 400);

        //某个元素到最外层元素的顶部的距离
        var _topHeight = $("#div5").offset().top; //如果是position类型的样式,则使用-position()-left-top
        $("#scroll").animate({ scrollTop: _topHeight });
    });

    $("#position").click(function () {
        alert("div#div6-position-relative的到父级顶部的距离:"+$("#div6").position().top); //相对最外层的div-114px
        alert("div#div6_1到父级顶部的距离,absolute的父级是relative的距离:"+$("#div6_1").position().top); //相对上层的-position:relative-div
    });

    //循环整个html文档 - 判断有滚动条-滚动高度的标签元素 - html-body
    $("body").each(function () {

        if ($(this).prop("scrollHeight") > 0)
            $(document.body).append("元素标签名称:" + $(this).get(0).tagName + ",滚动条高度(可移动范围):" + $(this).prop("scrollHeight"));
    });
</script>



<div id="testDiv" style="position:absolute;bottom:0px;right:100px;">

</div>
<script type="text/javascript">

    var windowHeight = $(window).height(); //浏览器当前窗口“可视区域”高度 
    var windowWidth = $(window).width(); //浏览器当前窗口“可视区域”宽度
    $("#testDiv").append("<div>浏览器当前窗口“可视区域”高度 :" + windowHeight + "</div>");
    $("#testDiv").append("<div>浏览器当前窗口“可视区域”宽度 :" + windowWidth + "</div>");

    var htmlHieght = $("html").height(); //html标签的高度
    var htmlWidth = $("html").width();  //html标签的宽度
    $("#testDiv").append("<div>html-高度:" + htmlHieght + "</div>");
    $("#testDiv").append("<div>html-宽度:" + htmlWidth + "</div>");
</script>

二、手机端


<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

<style type="text/css">
    body, html {
        margin: 0;
        padding: 0;
    }
</style>

<!--在苹果手机上使用-webkit-overflow-scrolling:touch,解决overflow:scroll;,滑动卡顿的情况-->
<div id="div" style="width:100%;height:300px;border:1px solid #ccc;overflow:scroll;-webkit-overflow-scrolling : touch;position:fixed;bottom:0px;">
    <div id="scrollDiv"></div>
    <script type="text/template" id="template">
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
    </script>
    <div style="display:none;">
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
        <div style="width:100%;height:200px;background:#cacaca;"></div>
        <div style="width:100%;height:200px;background:#099dff;"></div>
    </div>
</div>

<div id="canMoveTop"></div>
<div id="top"></div>
<script type="text/javascript">

    //用touchmove等事件实现下拉刷新
    
    $("#scrollDiv").html($("#template").html());

    $(document).scroll(function (e) {

        $("#div").focus();
    });

    var _height = parseInt($("#scrollDiv").prop("scrollHeight"));
    var canMoveTop = _height - parseInt($("#div").height());
    $("#canMoveTop").html(canMoveTop);

    $("#div").scroll(function (e) {

        var scrollTop = Math.abs(parseInt($("#scrollDiv").offset().top));
        $("#top").html(scrollTop);
        canMoveTop = parseInt($("#scrollDiv").prop("scrollHeight")) - parseInt($("#div").height());
        $("#canMoveTop").html(canMoveTop);

        if (scrollTop >= canMoveTop-10) {
            $("#scrollDiv").append($("#template").html());
        }

        //e.preventDefault();
    });
</script>

 


http://www.niftyadmin.cn/n/660793.html

相关文章

C# 扩展方法,扩展string数据类型方法,自定义一个首字母大写的方法

1、扩展方法的简单应用&#xff0c;比如&#xff1a;输入字符串”iloveyou"&#xff0c;实现字符出显示为“ILoveYou”&#xff0c;代码如下 2、关注一句话小程序&#xff0c;每天书写您的一句话&#xff0c;还有机会上C位哦

Asp.Net Core 2.1 取消HTTPS配置

1、创建Core Web项目时&#xff0c;默认勾选了HTTPS&#xff0c;如下所示 2、右键项目-属性-调试&#xff0c;如下所示 3、如果不去掉会出现如下一种情况 比如&#xff1a;本地运行起来的是https://localhost:5000 而页面调用了其他域名的js&#xff0c;比如&#xff1a;http…

VS2017 解决方案下的文件夹不小心隐藏了怎么办

1、添加解决方案文件夹 2、一不小心点到隐藏文件夹 3、实际上&#xff0c;也是鼠标右键解决方案即可 【一句话一感想一心情】版本更新&#xff0c;增加测颜值推荐图文&#xff0c;来体验下句子的魅力

【小5说基础】微信小程序,清除图片缓存

1、通过request方法调用接口获取到图片路径值后&#xff0c;可以在方法里添加如下代码清除缓存 item.bgUrl ? Math.random() 关注小程序&#xff1a;一句话一感想一心情&#xff0c;时时刻刻书写你的一句话&#xff0c;还有机会上C位哦

【小5说基础】jQuery 之on绑定事件以及off清除事件遇到的一些小坑吭,on被多次绑定,off如何清除

1、模拟点击div#test绑定div.test的click事件&#xff0c;代码如下 描述&#xff1a;点击多少次A区域&#xff0c;然后再点击B区域就会出发多少次click事件&#xff0c;比如我点击了两次A区域&#xff0c;那么再点击一次B区域&#xff0c;就会弹出两次alert <script src&quo…

【小5聊】dotnet Core,Redis服务器 It was not possible to connect to the redis server(s),出现提示的解决方案

1、ConnectionMultiplexer.Connect("127.0.0.1:6379");&#xff0c;提示如下错误 2、原因&#xff1a;Redis服务器未开启&#xff0c;解决方法如下 1&#xff09;定位到redis安装目录&#xff0c;比如小5安装Redis的目录是C:\Program Files\Redis&#xff0c;如下操…

【小5聊】C# SqlBulkCopy批量添加记录,自增ID保留不变,源表记录ID已经非连续,同样批量添加进入也是非连续

1、假设数据如下 1&#xff09;如果源表记录ID为&#xff1a;1、2、5、7、9...10000 2&#xff09;那么批量添加表记录到新库&#xff0c;那么ID值则会变为&#xff1a;1、2、3、4、5...10000 2、设置如下关键代码即可 1&#xff09;自增列会重新生成连续ID效果 using (Sq…

【小5聊】C# 发送QQ邮箱信息之步骤和代码实现

1、登录到QQ邮箱&#xff0c;开启服务&#xff0c;如下步骤 1&#xff09;点击【设置】&#xff0c;然后点击【账户】 2&#xff09;往下滑动到如下图位置&#xff0c;点击【开启】POP3/SMTP服务 3&#xff09;设置授权码&#xff0c;用于发送邮件时填写的值 2、编写代码 Mai…