关于吃货卡的工作总结!

吃货卡总结 (上)

近一个月,前端方面独自一人配合后台对接接口完成了整个项目。可以说这个项目是我首个独立全部完成,其中包括原型demo的完成、中间商家页面的修改UI、产品支付核销功能的添加、以下是这段时候遇见的问题和解决方案的总结(由于时间和内容问题本次总结分阶段进行):


1. H5禁止页面选择复制问题

代码如下:

* {         -webkit-touch-callout: none;
            -webkit-user-select: none;
            -khtml-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

这样写对于 -webkit-user-select: none; 存在问题是:在iPhone手机上会出现 input输入框 无法实现点击输入功能。(安卓可以实现)

解决方案:

*:not(input, textarea) {
                -webkit-touch-callout: none;
                -webkit-user-select: none;
                -khtml-user-select: none;
                -moz-user-select: none;
                -ms-user-select: none;
                user-select: none;
            }

知识点衍生:CSS3: user-select

user-select是css3新增的一个属性,用来指定文本的可选择性.目前主流的浏览器都支持该属性,但是要加上各自的前缀.

-webkit-user-select: none;  /* Chrome all / Safari all /opera15+*/  
-moz-user-select: none;     /* Firefox all */  
-ms-user-select: none;      /* IE 10+ */  
user-select: none;  

除了”none”还支持以下值:

auto——默认值,用户可以选中元素中的内容

text——用户可以选择元素中的文本

element——文本可选,但仅限元素的边界内(只有IE和FF支持)

all——在编辑器内,如果双击或上下文点击发生在子元素上,该值的最高级祖先元素将被选中。

2. CSS3 的渐进色变换用法

代码如下:

.fruit {
            width: 65px;
            height: 20px;
            background: -webkit-linear-gradient(right, #7FFFD4, #43CD80);
            /* Chrome、 Safari 5.1 - 6.0 */
            background: -o-linear-gradient(right, #7FFFD4, #43CD80);
            /* Opera 11.1 - 12.0 */
            background: -moz-linear-gradient(right, #7FFFD4, #43CD80);
            /* Firefox 3.6 - 15 */
            background: linear-gradient(to right, #2ee8b9, #43CD80);
            /* 标准的语法(必须放在最后) */
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
            position: relative;
            left: 3%;
            top: 15px;
        }

知识点衍生:CSS3 Gradient

CSS3 Gradient分为linear-gradient(线性渐变)和radial-gradient(径向渐变)。上面主要是线变,如果是径变类似一个圆往外变色。

语法:

-moz-linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* )

参数:

其共有三个参数,第一个参数表示线性渐变的方向,top是从上到下、left是从左到右,那么right就是从右到左了。
如果定义成left top,那就是从左上角到右下角。第二个和第三个参数分别是起点颜色和终点颜色。你还可以在它们之间插入更多的参数,表示多种颜色的渐变。(第一个参数 可以加入角度参数。)

运用好渐变色就可以做出很多炫酷 高亮的背景颜色了。

3. CSS3 对应的字体抗锯齿方法

font-smoothing是非标准的css渲染规则,由于不同操作系统对字体渲染不同,不同浏览器也有自己对样式的一套解释规则,所以这个css样式至今也没有加入web标准。
这个样式的主要功能是对字体的锯齿进行调整。
-webkit-font-smoothing 是webkit在自己的渲染引擎中增加的对字体抗锯齿的调整。这个调整在ios中表现比较明显,在windows中表现的不是很明显。

知识点衍生:CSS3 Gradient

body {       -webkit-font-smoothing: antialiased;
                /*chrome、safari*/
        -moz-osx-font-smoothing: grayscale;
                /*firefox*/
                font-family: "微软雅黑";
            }

CSS3里面加入了一个“-webkit-font-smoothing”属性。

这个属性可以使页面上的字体抗锯齿,使用后字体看起来会更清晰舒服。

加上之后就顿时感觉页面小清晰了。 淘宝也在用哦!

它有三个属性:

none ------ 对低像素的文本比较好

subpixel-antialiased ------默认值

antialiased ------抗锯齿很好

4. 关于标签选项卡对应展示数据写法

jQuery写法较为简单如下代码:

$(function() {
                $li.click(function() {
                    //加上颜色样式
                    $(this).addClass("selected")
                        .siblings() //排除自身的同辈元素
                        .removeClass("selected"); 
                    var index = $li.index(this); // 添加索引 好对应显示DIV内容
                    $(".kk")
                        .eq(index).show()
                        .siblings().hide(); //对应 控制的div 对应索引进行显示出来。
                });
            });

主要针对==原生JavaScript==写法进行一个原型封装:

面向过程 代码如下:

<div id="div1">
        <input type="button" name="" class="active" value="教育" />
        <input type="button" name="" value="财经" />
        <input type="button" name="" value="体育" />
        <div style="display: block;">这是教育内容板块</div>
        <div>这是财经</div>
        <div>这是体育的</div>
    </div>
    <script type="text/javascript">
        window.onload = function() {
            var oDiv = document.getElementById('div1');
            var aBin = oDiv.getElementsByTagName('input');
            var aDiv = oDiv.getElementsByTagName('div');
            var i = 0;

            for(i = 0; i<aBin.length;i++) {

                aBin[i].index = i;
                aBin[i].onclick = function() {
                    for(i=0;i<aBin.length;i++) { 
                        
                        aBin[i].className = '';
                        aDiv[i].style.display = 'none';

                    }
                    // 先全部去掉样式 再独自添加样式。
                    this.className = 'active';
                    aDiv[this.index].style.display = 'block';
                };
            }
        };
    </script>

面向对象封装代码如下:

<div id="div1">
        <input type="button" name="" class="active" value="教育" />
        <input type="button" name="" value="财经" />
        <input type="button" name="" value="色情" />
        <div style="display: block;">这是教育内容板块</div>
        <div>这是财经</div>
        <div>这是色情的</div>
    </div>
    <script type="text/javascript">
    /*
    *改写:
    *1.前提:所有东西都在onload里
    *2.改写:不能有函数嵌套, 可以全局变量
    *3.
    */
    function TabSwitch(id) {
        var oDiv = document.getElementById('div1');
        this.aBin = oDiv.getElementsByTagName('input');
        this.aDiv = oDiv.getElementsByTagName('div');
        var _this = this;
        var i = 0;
        for(i = 0; i<this.aBin.length;i++) {

            this.aBin[i].index = i;
            this.aBin[i].onclick = function() {
                _this.tab(this);    
            };
        }
    }

    TabSwitch.prototype.tab = function (oBtn) {
        for(i=0;i<this.aBin.length;i++) { 

            this.aBin[i].className = '';
            this.aDiv[i].style.display = 'none';

        }
        oBtn.className = 'active';
        this.aDiv[oBtn.index].style.display = 'block';
    };
    window.onload=function () {
        var oTab=new TabSwitch('div1');
    };

总结:

  • 这段时间意识到原生JS 的重要性于是 自己在加强 原生JavaScript的基础----包括 原型、继承、封装代码等
  • 也在学习Vue js 前端框架、Node js基础、npm运用。意识到自己之前所接触的开发模式和技术层面,还是很基础的东西。
  • 觉得目前 前端基于Node 工程化开发 和 模块化开发 自动化(webpack)形式是未来的趋势(现在也已经普遍开来,时代在进步,技术也在不停的进阶)
  • 最后 选择走前端这条路 就不应该把自己框死,我们要有对市面上新技术有敏锐的嗅觉,把握 web前端时代 的开发趋势。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,924评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,781评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,813评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,264评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,273评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,383评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,800评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,482评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,673评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,497评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,545评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,240评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,802评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,866评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,101评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,673评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,245评论 2 341

推荐阅读更多精彩内容