美文网首页
js 知识点总结

js 知识点总结

作者: 山豆山豆 | 来源:发表于2017-02-26 21:57 被阅读0次

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);

相关文章

网友评论

      本文标题:js 知识点总结

      本文链接:https://www.haomeiwen.com/subject/zgsawttx.html