js 知识点总结

js技巧


1 JSON.parse()

JSON.parse()
a='{"a":"abc"}';
b='[a,b,c,d]';
a,b 都是字符串 用 JSON.parse(a) -> 得到 原来对象;
原来只知道 json 对象可以用现在知道 数组对象也可以这样用

那对于 JSON.stringify() 对于数组同样有效

2 回到顶部

结构部分

 <div class="goTop hide"></div>

css部分

    .goTop{
    position: fixed;
    top: 75%;
    right: 30px;
    width: 60px;
    height: 60px;
    background-image: url("../img/goTop.png");
    background-size: cover;
    cursor: pointer;
}
   .hide{
   display:none;
   }

就是部分

$(window).scroll(function(){
    if ($(this).scrollTop() > 300){
        $(".goTop").removeClass("hide");
    }else {
        $(".goTop").addClass("hide");
    }
});
$(".goTop").on("click",function(){
    $("html,body").animate({scrollTop:0},1000);//回到顶端 耗时1秒
});

3 avalon过滤器的使用技巧

根据后台返回的数据 根据 自定义显示


 avalon.filters.Sugar_time = function(str){
    switch(str){
        case "before_breakfast":
        return "🍞 早餐前";
        case "after_breakfast":
        return "🧀 早餐后";
        case "before_lunch":
        return "🍚 午餐前";
        case "after_lunch":
        return "🍔 午餐后";
        case "before_dinner":
        return "🍲 晚餐前";
        case "after_dinner":
        return "🍜 晚餐后";
        case "before_sleeping":
        return "😴 睡觉前";
      
    }
}
<span>{{el.time_interval | Sugar_time}}</span>

4 replace 正则处理字符串 数组

处理"2012-01-05"和"2013-01-01"时间早晚的问题.


var reg = new RegExp('-', 'g');
var l_t = $('#begin_date').val().replace(reg, '');
var r_t = $( '#end_date').val().replace(reg, '');

  if (l_t - r_t > 0) {
                layer.open({
                    content: "亲,开始时间 应早于 结束时间 ^_^",
                    type: 1,
                    time: 3,
                    className: 'mylayer',
                    shade: false
                });
                return false;
            }
<script type="text/javascript">
        var acss='red2 blue yellow red2 eee';
        var str='red';
        var str2='red2'
        var reg=new RegExp('\\b'+str2+'\\b','g');
        //alert(reg.test(acss))    
        alert(acss.replace(reg,str))   
        var acss='2012-12-02';
        var str='-';
        var str2='+';
        var reg=new RegExp('\\b'+str+'\\b','g');
        //alert(reg.test(acss))    
        alert(acss.replace(reg,''))   
    </script>

5 登录表单,注册表单 对不齐的解决方案

1 可以span标签设置固定的宽度,
2 也可以让容器内部元素定位的方式实现.

  <p><span>同户名:</span> <input type="text" placeholder="4-15个字"></p>
   <p><span>密码:</span> <input type="text" placeholder="4-15个字"></p>
    <p><span>住址:</span> <input type="text" placeholder="4-15个字"></p>

避免让用户短时间之内重复点击.

//点击出发时间之后  获取到触发点.
var $btn = $(e.target);
//当点击事件发生后 立刻让点击事件 失效
$btn.prop('disabled',true);
........
........
当函数只想完毕以后 在从新让点击事件恢复.
$btn.prop('disabled',false);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、js的基本数据类型 Number、String、Boolean、Null、Undefined 还有复杂数据类型...
    恩德_b0c2阅读 1,807评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,797评论 19 139
  • js的声明和引入: 1.在head标签中使用script标签声明js代码域 2.在head标签中使用script标...
    Raofree阅读 1,625评论 0 1
  • 下一步该做什么? 干了这杯卡布奇诺 再说。
    留子尧阅读 1,456评论 1 0
  • 你买了一大推线上课程, 心中想着我要从此改变,斗志昂扬的你奋斗了通宵。第二天睡到中午才起床忽然没了动力,渴望玩...
    电影喵阅读 3,851评论 0 2