Monthly Archives: 六月 2016

幻视幻听

坐六看七

冰火第六季,今天终于播完了,一如往常:前八集拖沓絮叨,最后两集突然爆发
只不过,少了原著的支撑,第六季的很多细节显得很单薄
随着超长的第十集的结束,一堆悬而未决的问题也都尘埃落定了
虽然马大爷和剧集的编剧都说:剧集的剧情不代表原著,但是,相信大的情节走势,二者仍然是一致的

首先,小说第五部和剧集第五季的结尾,共同的悬念,雪诺到底死没死~~~不仅没有死,剧集最后还暴漏了另一个重要的、众多粉丝猜测已久的情节:雪诺是个塔格利安

史塔克家的第一对重逢,相信感动了N多发粉丝
私生子之战,史塔克夺回临冬城,三傻这次终于没犯傻,小指头的如意算盘没能如愿,北境再次回归到史塔克的手下
然后是龙母和她的弥林城,一方面开挂的龙女不仅搞来了多斯拉克的卡拉萨、而且驯服了她的龙;然后顺势救了岌岌可危的弥林城
好啦,预计第七季的主题:《塔格利安的回归》。。。


然后,总结一下第六季被灭门的家族~~下一季可以省一大笔经费了
拜拉席恩。。。其实上一季就已经死完了,这一季连名义上的托曼也死翘翘了。。。不要说大牛,估计大牛以后不会再出来了
波顿~~这个是众望所归,波顿父子的死法也都很到位
马泰尔,(这里估计会和原著有较大的出入)随着亲王父子被杀,多恩还剩一帮沙蛇,后面就安心做龙母的帮手吧
大麻雀~~这个不算家族,不过这个满嘴仁义道德的老头,相信大家早就看他不顺眼了

然后,是几个名存实亡的家族
佛雷~~~和波顿父子一样死的众望所归,虽然二丫似乎只杀了老佛雷和他的两个儿子,号称自己生了一支军队的佛雷,还有一大票的儿子孙子,但是从前面原著对佛雷家的描写看,离开了老佛雷,佛雷家必将大乱
徒利。。。原著里艾德慕开城投降钱,好歹放走了老黑鱼,剧集里居然把老黑鱼给搞死了。。。
提利尔~~和马泰尔类似,提利尔家也是的差不多了,不过剩下了一个最有头脑的老太太,看最后自己的形式,提利尔也将彻底倒向龙母

然后,预计下一季的两对主要对抗势力
兰尼斯特 Vs 塔格利安(+马泰尔+提利尔)
史塔克(+野人+谷地) Vs 异鬼

整体来讲,第六季,似乎已经把大部分悬念消耗完了,旁枝末节的角色们死的也差不多了
第七季,几个令人期待的悬念
异鬼如何突破长城
猎狗是否会单挑魔山
色后最终会是在谁的手里,二丫?半人?还是杀蛇?
然后,就是史塔克家能否如愿团聚。。。

最后,代表冰火的两个塔格利安会否结合

Hello World

判断文本宽度有几种方法

很多时候,我们需要判断一个字符串扔到页面上显示时的宽度,这里,按照我自己的认知顺序说一下都有哪些判断方法

初级:str.length
这个不用说,大家都明白,最简单,也最不靠谱
但是有一个地方要注意:一个中文字符,js里的length是1,而php里,根据编码不同,可以是3或2

中级:正则判断支付类型,按不同的长度处理

1
2
3
4
5
6
7
8
9
10
11
  //判断字符串的长度,全角返回2,半角返回1
  var b2reg = /[\u0000-\u00ff|\uff61-\uff9f|\uffe8-\uffee]+$/;
  function byteLen(s){
    var c = 0;
    if(s && s.length > 0){
      var a = s.split("");
      for(i in a){
        if(!b2reg.test(a[i])) c += 2;
        else c++;
      }
    }

一般要求不严格的情况,我都是这么处理
但是,这个也不靠谱,中文没问题,但是英文字符的显示宽度,会受字体、浏览器的影响,比如“i”和“w”,很难确定这俩显示宽度是否相同

终结:实际显示宽度
有些复杂,不过思路也很简单:在页面的视口之外,做一个同样的显示区域,字体、样式什么的都一样,然后把文本写进去,再判断宽度;如果过宽,再截
这种方法还有一个经典的应用:输入框跟踪提示。
比如,在一个很大的输入框里,输入多个邮箱地址,要随着用户的输入,在输入点下方位置显示不同邮箱地址的提示,这里的一个难点就是:js里无法获得当前输入点的位置。于是就可以用上面的方法,时时获取显示宽度,然后用复杂的计算近似得到当前输入点的位置…

———
(好久不写技术文章了,一方面是懒,另外很关键的一点是…近半年都在做售货机屏幕的东西,缺少普适性)