zoukankan      html  css  js  c++  java
  • 连续变化的字号

    在文章页,我们经常会看到字号变化的选项,常见的是 [大] [中] [小] 这样的形式,还有一种就是可以在一定的范围内连续变化,控制按钮如下:
      ,当不可用状态的时候 按钮需要变灰,以提示用户字体不可再放大或者缩小。根据这些功能,写了一个小程序来控制字体变化和可用状态的切换。
    主要原理是 用一个数组来存储所有的控制字号和 可用状态的class,然后随着+ 或者 - 号的点击,来读取相应的数组元素,计算类名并施加到相应受控容器:
    fstp:["fmin","fstp1","fstp2","fstp3","fstp4","fstp5","fstp6","fstp7","fstp8","fmax"], //字号数组
    fctl:$("#artbox"), //受控容器

     其中fmin 和 fmax 除了控制字号,还控制了+ - 按钮的可用和不可用状态:

    .fmax .func a.add{ background-position:0 0;} /*不可用状态的样式*/
    .fmin  .text p
    { font-size:1em;}
    .fstp1 .text p
    { font-size:1.1em;}
    .fstp2 .text p
    { font-size:1.2em;}
    .fstp3 .text p
    { font-size:1.3em;}
    .fstp4 .text p
    { font-size:1.4em;}
    .fstp5 .text p
    { font-size:1.5em;}
    .fstp6 .text p
    { font-size:1.6em;}
    .fstp7 .text p
    { font-size:1.7em;}
    .fstp8 .text p
    { font-size:1.8em;}
    .fmax .text p
    { font-size:2em;}
    .fmin .func a.dec
    { background-position:0 -34px;} /*不可用状态的样式*/

     完成的代码如下 也可查看DEMO:

    $(function(){
        
    var fsize; //Steping Font Size 
        if(!fsize) fsize={};
        fsize
    ={
            fidx:
    2//起始字号序列
            fstp:["fmin","fstp1","fstp2","fstp3","fstp4","fstp5","fstp6","fstp7","fstp8","fmax"], //字号数组
            fctl:$("#artbox"), //受控容器
            fcls:"artbox "//受控容器原有class
            fup :function(){ //字号增加
                fsize.fidx++;
                
    if(fsize.fidx>=fsize.fstp.length-1)  fsize.fidx=fsize.fstp.length-1;
                
    var cls=fsize.fcls+fsize.fstp[fsize.fidx];
                fsize.fctl.attr(
    "class",cls);
                },
            fdown:
    function(){ //字号减小
                fsize.fidx--;
                
    if(fsize.fidx<=0)  fsize.fidx=0;
                
    var cls=fsize.fcls+fsize.fstp[fsize.fidx];
                fsize.fctl.attr(
    "class",cls);
                }    
            }
        
        
    //fsize.fup();
        $(".add").click(function(){fsize.fup();})
        $(
    ".dec").click(function(){fsize.fdown();})
        $(
    ".add,.dec").focus(function(e){$(e.target).blur()}) //取消a标签的聚焦虚线框
        })

  • 相关阅读:
    iOS中点击按钮复制指定内容
    iOS开发中,获取图片之后保存或下载到本地相册中
    This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryAddUsageDescription key with a string value
    ios中友盟集成好使用总结
    ios中仿蚂蚁森林动画效果
    window frida安装
    Android_server提示端口被占用
    Android stdio Apktool源码编译
    Android ooVoo Apk附件关联分析
    cocos2d-x-2.2.6 project-creator文件夹下python.bat
  • 原文地址:https://www.cnblogs.com/trance/p/1586769.html
Copyright © 2011-2022 走看看