zoukankan      html  css  js  c++  java
  • 手动--拖动条--改变字体大小

    一个多月的加班,终于熬到头了,领导说下午休息一下,我就把自己工作中途写的一个简短的小demo拿出来,说是分享一下,其实还是有一些小bug,希望有人能找出,并给指错,一起进步,一起成长,想想这一个多月,过的又充实,又慌乱,希望一会会振作一些把,其他的不多说了,代码如下,自己实现效果!

     实现思想: 三个div,当鼠标拖动小按钮的时候,计算出左边的div class='scroll' 的宽度不断的变化,而 设置的字体最大为50px, 拖动条的宽度为200px, 由此可见,当拖动的宽度为100px的时候,字体的大小为25px,以此类推,当然为了能看的=看到字体,为p 标签加了一个判断,如果小于10px,就不再 随拖动条减小了。

    <!DOCTYPE html >  
    <html >  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
    <title>无标题文档</title>  
    <style>
       .dragbar{height:20px;background:#ddd;position: relative;}  
    .draghandle{height:18px;width:28px;border:1px solid #444;overflow:hidden;background:#3d642d;position:absolute;top:0px;left:0px;z-index:10;cursor:pointer;}
    .scroll{
        height: 20px;
        position: absolute;
        top:0;
        left: 0;
        background: green;
        width: 30px;
    } 
    </style>
    </head>  
    <body>  
    <div class="dragbar">
        <div class='scroll'></div>  
        <div class="draghandle"></div>  
     </div>  
     <span><b>10</b>px</span><br>
     <p>字体段落</p>
    <script src='js/jquery-1.11.1.min.js'></script>
    <script>
     var percent=0;  
    $(function(){  
        var handle=$(".draghandle");  
        var dragbar=$(".dragbar");  
        dragbar.css("width","200px");
        handle.css({"width":"10px","top":0,"left":30});  
        var maxlen=parseInt(dragbar.width())-parseInt(handle.outerWidth());  
        handle.bind("mousedown",function(e){  
            var x=e.pageX;  
            var hx=parseInt(handle.offset().left);
            $(document).bind("mousemove",function(e){  
                var left=e.pageX-x+hx<0?0:(e.pageX-x+hx>=maxlen?maxlen:e.pageX-x+hx); 
            // 宽度的变化  
                $('.scroll').css('width',left<=3?0:left);
            // 字体的大小
                $('p').css('fontSize',parseInt((left+12)/4)<=3?0:parseInt((left+12)/4)<10?10:parseInt((left+12)/4)<=3?0:parseInt((left+12)/4));
                $('span b').text(parseInt((left+12)/4)<=3?0:parseInt((left+12)/4));
                handle.css({left:left,top:0});  
              percent=(left/maxlen*100).toFixed(0);  
              return false;  
            });  
            $(document).bind("mouseup",function(){  
                $(this).unbind("mousemove");  
            })  
        })  
        function move(percent){  
            var handle_left=maxlen*percent+dragbar.offset().left;  
            handle.animate({  
                left:handle_left,top:dragbar.offset().top         
            },{duration:1500 , queue:false});  
        }  
    });    
    </script>
    </body>  
    </html>  
  • 相关阅读:
    ASP.NET中 CheckBox(复选框)的使用
    ASP.NET中 HyperLink(超链接)的使用
    ASP.NET中 HiddenField(隐藏控件)的使用
    ASP.NET中 ImageButton(图片按钮)的使用
    ASP.NET中 PlaceHolder(占位文本)的使用
    ASP.NET中 FileUpload(上传控件)的使用
    Metro Style App开发快速入门 之XML文件读取,修改,保存等操作
    .NET Framework 4.5新特性
    一个10年程序员给大家的忠告
    SQLite快速入门二表、视图的创建、修改、删除操作
  • 原文地址:https://www.cnblogs.com/loveyaxin/p/5892883.html
Copyright © 2011-2022 走看看