zoukankan      html  css  js  c++  java
  • 添加收藏

    接口包含:添加收藏,删除收藏,检测收藏

    前台传值:id与收藏页来源类型 

    获取网页数据ID值方法2种:

    1:后台传值放隐藏域中

    2:用JS方法取网址ID

        function getUrlParam(){
            return location.href.match(/([^?=&]+)(=([^&]*))/g).reduce((a, v) => ((a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a), {});
        }

    调用:

    id=getUrlParam().school_id;

    实现收藏代码:

    //收藏
        var delete_id , type = $('#collectionType').val(), id=$('#newsId').val();
        //这里的两个函数分别代码fn1,fn2
        check_collection( function(){
            $('.collection').addClass('active');
            console.log(1)
        } , function(){
            $('.collection').removeClass('active');
            console.log(2)
        } );
    
        //检查是否收藏
        function check_collection( fn1 , fn2){
            $.post(com.url.check_is_collection , {
                collection_type:type,
                collection_id:id
            } , function(res){
                if(res.result == 'succ'){
                    delete_id = res.data.id;
                    fn1();//调到接口说明收藏初始时加active上方的check_collection函数,否则不加
                }else {
                    fn2();
                }
            })
        }
    
        //添加收藏   ,  删除收藏
        function collection(url  , newsId , fn){
            $.post(url , {
                collection_type:type,
                collection_id:newsId
            } , function(res){
                if(res.result == 'succ'){
                    fn()
                console.log(fn);//执行下方添加或取消收藏函数
                }else {
                    com.prompt(res.message);
                }
            })
        }
    
        $('.collection').click(function(){
            var _this = $(this);
            var source = com.get_source();
            if((window.location.href).indexOf('passport') < 0){
                //未登录
                if(is_login <= 0 && !$('#login_ifr').attr('src')){
                    var ifHtml = '<iframe id="login_ifr" style="display:block;" class="login_ifr none" src="'+passportHost + '/xuemaotouch/login/login_layer.php?back_url='+location.href+'&source='+source+'&source_platform='+source_platform+'"></iframe>';
                    $('body').append(ifHtml);
                    $("body").css("overflow","hidden");
                    return false;
                }
    
                if($('#login_ifr').attr('src')){
                    $('#login_ifr').show();
                    $("body").css("overflow","hidden");
                    return false;
                }
    
                //增加自定义属性,给数埋点用
                if(_this.hasClass('active')){
                    _this.attr('status' , 'cancel');
                }else {
                    _this.attr('status' , 'add');
                }
    
                clearTimeout(timer);
                timer =  setTimeout(function(){
                    check_collection(function(){
                        collection(com.url.delete_collection , delete_id , function(){
                            $('.collection').removeClass('active');
                            com.prompt('取消成功');
                        });
    
                    },function(){
                        collection(com.url.add_collection , id , function(){
                            $('.collection').addClass('active');
                            com.prompt('收藏成功');
                        });
    
                    }  );
                } , 1000)
    
            }
        });
  • 相关阅读:
    GPU 加速NLP任务(Theano+CUDA)
    SOJ 1717 Computer (单机任务调度)
    CNN for NLP (CS224D)
    数据分析:中国高校更名历史 Python
    TextRank 自动文摘
    深度学习笔记(十一)网络 Inception, Xception, MobileNet, ShuffeNet, ResNeXt, SqueezeNet, EfficientNet, MixConv
    深度学习笔记(七)SSD 论文阅读笔记简化
    在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 及一些问题
    win10 + gtx1060 + cuda8.0 + caffe + vs2013 + Tensorflow + PyTorch
    深度学习笔记(二十五)DenseBox & FCOS & PolarMask
  • 原文地址:https://www.cnblogs.com/liubingyjui/p/10302466.html
Copyright © 2011-2022 走看看