[新闻]华为荣耀3X畅玩版 配置发布
#荣耀3X畅玩版# 5.5吋HD高清全贴合IPS屏, 真八核MT6592 1.4GHz处理器+2GB RAM+8G ROM; 智像+Sony1300万像素顶级堆栈式摄像头,前置500万像素镜头; 智电+3000mAh电池,续航提升30%以上。 航空镁铝合金支架工艺,真皮质感后盖, TD-SCDMA+GSM双卡双待、双硅麦降噪,荣耀自研品质保障。 998元,即将荣耀来袭!
[转载]华为推998元荣耀3X畅玩版
眼看红米Note杀来,华为自然不会放任自流。刚刚,华为荣耀官方宣布,将于近日发布荣耀3X畅玩版,依然采用真八核处理器,售价为998元。 从华为官方放出的宣传图片来看,荣耀3X畅玩版定位低于荣耀3X(后者售价为1698元),配置方面预计会有所缩减(详细配置还有待公布)。 华为表示,荣耀3X畅玩版重量更轻(162g),机身更薄(仅8.9mm),采用全贴合屏幕,真皮质感背壳,屏幕尺寸为5.5寸,配备3000mAh+电池。 很明显,荣耀3X畅玩版就是针对红米Note而来,正如之前的荣耀3C和红米。 又一场好戏要开始了。 转自:对抗红米Note:998元!华为荣耀新机杀到 http://news.mydrivers.com/1/297/297255.htm
华为荣耀3X 八大优势
第一:制造工艺 华为手机能做到世界TOP3,靠的是领先的制造工艺,像某米品牌的手机,如果论工艺,它算手机吗?工艺不仅仅是设计,还有做工,华为拥有顶级的设计师和自己的生产工厂。 第二:双3G,信号好 目前双卡双待的手机有很多,能支持移动TD-CDMA和联通WCDMA的手机目前为数不多,以华为多年在通信设备制造行业的经验积累,华为荣耀提供的是优质的通话质量。 此外请注意,所谓双3G,并不是指一个卡槽支持移动,一个支持联通,而是每个卡都可以同时支持移动3G和联通3G,也就是说你完全可以插入两个联通3G卡。 第三:真八核,很流畅 在经历了双核,四核之后,荣耀3x采用真正的八核处理器,内存采用主流的2G(RAM),流畅程度不言而喻。 第四:改变极大的EMUI2.0 EMUI2.0这一次华丽转身,在荣耀3c上得到了用户的广泛认可之后,再次适配荣耀旗舰机型之荣耀3x,肯定满足你的日常需求。 第五:上档次的相机 除了1300高像素的后置摄像头,前置摄像头也提高到了500万像素,拍照效果嘎嘎的。 第六:大屏用户的福音 华为荣耀3X 采用5.5寸全贴合电容屏,支持手套操作,支持10点触控,绝对上档次。 第七:大电池,超级省电 华为荣耀经过工程师的精致优化,荣耀3c,2300mA的电池对于重度手机用户都可以使用两天,可以想象的出配有3000mA电池的荣耀3x超强的续航能力,且电池可更换。 第八:高性价比 1698的价格,相比同质产品,荣耀3x拥有遥遥领先的性价比。
wordPress你可能需要用到的插件(持续更新中)
1、Baidu Sitemap Generator:生成百度的sitemap,当你更新文章的时候,sitemap文件自动更新 2、Google XML Sitemaps:生成百度的sitemap,当你更新文章的时候,sitemap文件自动更新 3、DMSGuestbook widget:帮助你的博客打造一个自己的留言簿 4、WP-PostViews:记录和显示文章浏览次数 5、WP Robots Txt:方便的修改虚拟的robots.text文件 6、Better Related Content:自动在文章中插入相关文章 7、Widget Logic:配置侧边栏小工具 显示的时机 8、JiaThis: 为文章增加分享功能 9、wp-page-numbers: 为文章列表增加分页导航,见本站首页下方的页码条 10、wp-syntax: 代码高亮,支持C java xml html ini等多种格式 11、Hacklog Remote Image Autosave 第三方图片搬家功能 12、Captcha 评论验证码
AngularJS 最常用的八种功能
第一 迭代输出之ng-repeat标签 ng-repeat让table ul ol等标签和js里的数组完美结合 <ul> <li ng-repeat="person in persons"> {{person.name}} is {{person.age}} years old. </li> </ul> 你甚至可以指定输出的顺序: <li ng-repeat="person in persons | orderBy:'name'"> 第二 动态绑定之ng-model标签 任何有用户输入,只要是有值的html标签,都可以动态绑定js中的变量, 而且是动态绑定。 <input type="text" ng-model='password'> 对于绑定的变量,你可以使用{{}} 直接引用 <span>you input password is {{password}}</span> 如果你熟悉fiter,你可以很容易的按你的需要格式输出 <span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span> 第三 绑定点击事件之ng-click事件 使用ng-click你可以很容易的为一个标签绑定点击事件。 <button ng-click="pressMe()"/> 当然前提是你要在$scope域中定义的自己的pressMe方法。 和传统的onclick方法不同,你甚至可以为ng-click方法传递一个对象,就像这样: <ul> <li ng-repeat="person in persons"> <button ng-click="printf(person)"/> </li> </ul> 当然还有ng-dblclick标签 第四 分支语句之ng-switch on、ng-if/ng-show/ng-hide/ng-disabled标签 分支语句让你在界面上都可以写逻辑判断。 <ul> <li ng-repeat="person in persons"> <span ng-switch on="person.sex"> <span ng-switch-when="1">you are a boy</span> <span ng-switch-when="2">you are a girl</span> </span> <span ng-if="person.sex==1">you may be a father</span> <span ng-show="person.sex==2">you may be a mother</span> <span> please input your baby's name:<input type="text" ng-disabled="!person.hasBaby"/> </span> <span> </li> </ul> 第五 校验语法之ng-trim ng-minlength ng-maxlength required ng-pattern 等标签 表单中的输入框,你可以使用上面的标签来实现对用户输入的校验。 从字面意思上你已经知道了它们的意思。 ...
AngularJS ng-repeat下使用ng-model
举例: blue:<input type="radio" value="1" ng-model="selectValue"/> red:<input type="radio" value="2" ng-model="selectValue"/> yellow: <input type="radio" value="3" ng-model="selectValue"/> 以上代码实现一个单选框功能,当你选中其中的一个单选框,可以从$scope.selectValue中得到你选中的的选项的value。 同时改变$scope.selectValue的值,也可以让界面上选中相应的单选框。 假设单选框的个数是不固定的,用ng-repeat来展现。 <table> <tr ng-repeat="row in collections"> <td> {{row.name}}: <input type="radio" value="{{row.value}}" ng-model="selectValue"/> </td> </tr> </table> 当你书写了上述代码后。你会发现点击其中的对话框,$scope.selectValue中并没有保存你选中的对应单选框的值。 这是因为处在ng-repeat之间的代码,对全局的$scope里变量的内容是不可见的,像{{row.name}}里的row,并不是全局$scope里的成员。 而是为ng-repeat创建的子scope里面的。所以要引用全局$scope里的成员,你可以使用$parent 来引用全局的$scope <table> <tr ng-repeat="row in collections"> <td> {{row.name}}: <input type="radio" value="{{row.value}}" ng-model="$parent.selectValue"/> </td> </tr> </table>
artdialog 弹出对话框怎么关闭自己
artDialog是一个基于javascript编写的对话框组件,它拥有精致的界面与友好的接口。 如果你想在弹出的对话框里,加一个自己的按钮,来关闭自己,普通对话框可以使用以下方式: //artdialog弹出对话框之后会返回一个dialog句柄 var dialog = art.dialog(content, ok, cancel) //你可以在对话框事件中通过该句柄的close方法,将对话框自己关闭。 function closeSelf(){ dialog.close(); } 如果是弹出一个iframe对话框呢?获得的对话框句柄在是父窗体里的,需要在子窗体里使用该句柄把自己关掉。 artdialog提供了框架之间的数据传递方式,你要包含artDialog.iframeTools.js方法。 var temp = {}; art.dialog.data('temp', temp); temp.dialog = art.dialog('../childframe.html'); 这样你的数据就穿越了。在childframe.html的js里,你可以使用下面的方式获取自己的窗口句柄,然后关闭自己。 function closeSelf(){ var dialog = art.dialog.data('temp'); dialog.close(); }
SEO我做了哪些优化
新买了域名,开通了网站,才听到有SEO(Search Engine Optimization 搜索引擎优化)这个名词。 原来网站要被各大搜索引擎收录,要做那么多事情才行。为此通过我自己的了解,我针对我的网站进行了下面的优化工作。 1、把网站提交到各大搜索引擎。 在百度中搜素 谷歌网址提交入口,百度网址提交入口,搜狗、360搜素提交入口,可以很快得找找到各大搜索引擎的网址提交入口, 告诉这些搜索引擎们,我的网站诞生了,你派蜘蛛来爬吧,呵呵。 2、内容优化,我使用了wordpress的框架,找了一副叫Catch-box的主题,简约简单。保证搜索引擎爬虫在爬你的网站的时候不会出现这样那样的错误。 确定我的主题和关键字,并且写在header.php里,保证让搜索引擎大体知道你的网站主要是做什么的。 <meta name=“keywords” content=“华为, 荣耀3c, java, mysql, javascript”/> <meta name=“description” content=“赵岩的个人博客,关于java,web,javascript,mysql等技术的分享,同时站长是一个花粉,同时会介绍一些关于华为手机、荣耀手机的评测和玩机心得。”/> 3、新建的网站是个迷宫,搜索引擎可能对你这个不知名的小网站,是没有耐心全站扫描的。所以你要为他们提供一副地图。也就是sitemap文件。 我用的wordpress,安装了Baidu-Sitemap和Xml Sitemap插件,分别生成符合百度和谷歌要求的sitemap文件,并且分别在他们提供的站长工具中提交sitemap的地址。 同时设置了每次添加文章的时候自动更新sitemap,保证第一时间通知搜索引擎你有新东西了,来找我呀。 4、很重要的一点,主要是针对百度,我也是最近两天才知道的,我已经发了几篇博客了,发现google收录了很多,而百度只收录了首页。 这时我了解一个概念叫静态url,也就是搜索引擎对静态的url比较感兴趣,因为它认为这样的网页变化小,可以抓取快照等等,而对于动态网址,则没多大兴趣。 举例说,我原来一篇博文的地址是http://zhaoyanblog.com/?p=90 它会认为你的网址是http://zhaoyanblog.com,p是参数,所以它认为你的http://zhaoyanblog.com/?p=90是不稳定的网页 很有可能就不收录了。 但是PHP代码是动态网址啊,怎么办呢,最后还是通过度娘知道,wordpress是可以设置固定链接格式的,也就是伪静态URL, 最后我把格式全部设置成了http://zhaoyanblog.com/archives/90.html这样的格式, 但是我在wordpress里设置好了,访问http://zhaoyanblog.com/archives/90.html,却返回404页面,还是度娘给了答案,需要对apache进行设置,加载个模块,这个你可以自己去问度娘了。 最后这样百度应该就会认为这个网页是静态的了吧,静观其变吧。 忘记说了,百度的站长工具里有句说明,如果你的网站改版的话,旧网址一定要301转向新网址,否则的话你的旧网站就成了死链,会影响搜索引擎对你的好感。 5、给网站做个站内统计,我用的是CNZZ网站提供的统计功能,这个可以让你看到你的网站流量来源,以及用户都是通过搜索什么关键字才找到你的网站的,这样你的网站的内容会更有针对性。 6、最后一点,也是从网上看来的,说百度或者某些搜索引擎,在刚刚收录一个新网站的时候,都会有一两个星期到一个月的考验期, 在期间,百度只会收录你的首页,如果你的网站不更新或者关掉了,那百度也不对你感兴趣了,在期间你要匀速的更新维护,过了这个考验期,百度才会井喷式的收录你的网站。 这样靠个人的坚持了。 以上是我这几天针对SEO做的优化总结。
荣耀3C值得买的八大理由
1、良心价格 荣耀3C这样的配置在千元机里算是顶配了,而且798的价格也是给力的。 2、拿得出手的外观 荣耀3C的熊猫外观,再加上华为的牌子,绝对是拿的出手的,绝对没有山寨机的感觉。 3、电池可以使用两天 华为独有的省电优化设计,重度手机用户可以玩一天,普通用户绝对两天没问题,之前用小米1S一定要一天一冲,现在用荣耀3C,真的可以两天一冲。 4、内存够用,系统流畅 本人亲自测试,开十几个程序没问题,QQ,微信,微博,浏览器全开,剩余内存总是可以保持在100M左右,仍然流畅运行,桌面滑动十分流畅,一点问题没有。而且还有2G版。 5、简单桌面,老年人也可以使用。 还在给父母买诺基亚吗?荣耀3C自带老人模式,功能一目了然,父母也会用触摸屏了,还可以教他们用来看电影,上网,着实不错。FMUI的桌面比较简单上手,不像MIUI那么臃肿复杂。 6、相机不错 学生党800块钱你可以买到前置摄像头500万像素的摄像头吗?想红米一样130万的前置摄像头,拿来自拍有意义吗? 7、有块好屏幕 荣耀3C采用Iphone5S使用的屏幕材质LTPS全贴合屏幕,知道红米使用的啥材质的屏幕吗?Iphone3之前使用的a-si屏。荣耀这个的确要甩红米几条街。 8、更容易买到 华为的生产速度和发货速度绝对是开足了马力,几乎是7天一次购买,准备的货一次比一次多,相比已经开卖了几个月的红米来说,绝对更容易买到,而且相信完全开放购买的日子也不远了。
Tomcat配置gzip提高js文件下载速度
在tomcat的conf/server.xml文件的Connector节点中 增加如下配置: <Connector port="8080" redirectPort="8443" compression="on" compressionMinSize="10240" noCompressionUserAgents="gozilla,traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" /> 说明: compression=“on” 打开压缩功能 compressionMinSize=“10240” 启用压缩的输出内容大小,这里是10k noCompressionUserAgents=“gozilla, traviata” 对于以下的浏览器,不启用压缩; compressableMimeType=“text/html,text/xml,text/javascript,text/css,text/plain” 要压缩的文件类型MIME TYPE tomcat的压缩效果很明显,对于90多k的画图js插件 ichartjs(http://www.ichartjs.com),压缩之后只有27.8k,压缩率30% 大大提高了网站的访问速度。
我是怎么样从米粉变成米黑的
我在上学的时候,就喜欢玩手机,折腾手机,一开始是手机刚有的年代,买的手机是诺基亚 3120。花了700块钱。不断的玩,记忆不是很深刻了,反正最后被我摔坏了。然后又不好意思给家里说,就花300块钱买了一个诺基亚1110,还记得里面有个可以自己编曲子的程序,编写个两只老虎做起床铃,还有里面的三个经典的游戏,小鸡下楼,贪吃蛇和投骰子。 后来是诺基亚的彩屏手机诺基亚1680c,移动定制机,充话费送的,S40系统,然后不断的更新主题,记得当时常去下主题的网站是www.shouji.com.cn。还有一些java程序,找一些改版的java QQ 装进去。RAM小 ROM小,好多软件装不进去,看到人家用诺基亚所谓的智能机,真是羡慕啊。一直想买个诺基亚N73后来找了一份实习,有了钱,狠了狠心,想买个智能机,才发现N73停产了,买了一个诺基亚6120c,然后又是穷折腾,诺基亚6120c是 s60v3 系统,需要装sisx 格式带签名的软件,然后又琢磨怎么给sis格式的程序签名,怎么突破塞班系统的21种权限。更改开机画面啥啥的。然后又看到人家用诺基亚5230 s60v5系统,支持触控,又羡慕了,不过忍住了没买。 后来又过了不到1年,发现安卓出现了,宿舍有同学当时买了一个三星很早的一个安卓系统的手机,好像是三星7500? 反正那时候安卓还是1点几的版本。充满好奇心呢,总是凑上前去摸摸看看,很不理解,手机是可以用拇指肚来操作的。 眼睁睁的看着安卓手机的发展,后来是深圳的魅族手机出来了,M8到M9,大家排队买。四四方方,着实想拥有啊。智能机突然就这样被重新定义了,手里的诺基亚6120c,塞班S60系统,就给了一个新称呼 “伪智能机”。后来快毕业了,忍不住了,一定要有个智能机,然后从一个隔壁学校的一个学生那里买了一个二手的 移动定制的ZTE手机 U880,当时也算街机了吧,安卓入门机,着实兴奋了一阵子,然后陷入了不断root啊,刷机啊的进程中。。。。。 其实在中间小米已经出来了,不过好像记得那时候小米手机是采取的先付款预定,再发货的流程,记不清楚了,反正同学买的, 看着我着实流口水,相较于魅族还便宜好多。特别是深邃内涵的屏幕(当时我为什么不看看背面撒。。。。) 然后拿着我的二手移动定制机ZTE U880,我就上班了,我就告诉我女朋友,发了工资,我一定要买个小米手机。然后小米发布了两款手机小米1s和小米2小米1s开始预定开始卖,小米2好像憋了很久才卖,我忍不住了,1499,我就要小米1s了,比小米1增加了前置摄像头,频率提高的1.7G 还可以啊。然后盯着屏幕抢,抢到那一刻,我还是很兴奋的(雷军你成功了),然后漫长的等待,就是不发货,我就找客服唧唧歪歪,没想到几个小时之后就显示订单出货了,我一直是以为是我和客服说的缘故。后来拿到手机了,包装高端大气上档次,连说明书都高端大气上档次。手机拿在手里沉甸甸的,舒心呢。我上大学的时候,教模拟电子电路的老实说过了,买电子产品嘛,越沉越好。。。。再反过来小米手机,看背面的那一刹那,我心里稍微有那么咯噔了一下,没人告诉我,小米手机有个这么丑的后盖啊,啥弧度啊,相机都突出来了。不过当时确实兴奋掩盖了这么一点不满,然后是MIUI,只能用兴奋来描述,MIUI确实做的不错,到现在我也这么认为。无论是移动图标,便签,主题,相机,相册,一键升级,权限控制,共享上网,连文件管理器我都觉得做的棒,隐藏了好多让用户方便的小细节,后来升级到V5就更华丽了,计算器,录音机,指南针都很漂亮。回到买完小米手机的当初,很兴奋,然后还帮同事抢了一台,到处给同学同事演示MIUI的妙处,贴膜都从普通的到磨砂的都换了好几张。 但是时间一长,我渐渐感觉到小米1s的瑕疵让我寝食难安,首先是后盖,什么没有设计的设计啊,什么优化握感啊,就是内部空间安排不合理,造成了相机突出,后面突出,只有增加后盖边缘的弧度,才让手机看着薄一点。后来买了个方形后盖,虽然厚了好多好多,更新板砖了,但是也看着高端大气上档次了~ 找个心理安慰吧。 其次是配件,官方网站出了新款手机就忘了旧款手机,除了小米1s 和 小米2 小米1就不再官方网站显示了,出了小米2A 2S 和小米3 然后小米2以下的都不显示了。 小米1s升级到MIUI V5之后好多问题,首先是内存用用就没了,然后是手机通话音量不能调节大小,拍照片泛白,这些问题已经在MIUI论坛上反映了好多了,都盖了章说反映给了开发组,V5到现在迭代了多少轮了,最终没有解决!现在我打电话对方都听不到声音,这时候要重启才可以,也不知道是硬件原因还是软件原因。 还有相应的配件越来越少。你看看人家魅族,现在出了魅族MX3了,魅族M8,甚至M6的介绍都在网上放着,人家是真心真意的打磨每一款产品。你再看看小米,小米2 学魅族的造型,小米3s学诺基亚lumia的造型, 一味的堆砌硬件,就想找到一个既能哄人,又能赚钱的最佳赢利点。当小米2出来的时候,我还期望买个小米2,小米2从配置和外观上讲,都是还不错的,我到现在也觉得小米手机里最成功的一款手机就是小米2s,但是小米1s在手里不能扔啊,就想等着小米3出来买个小米3吧,等看到小米3的真容,我了去,奇丑无比,有网友讲,真想拿个斧子把小米3的上下砍去一截,我深有同感,再看那个边框,小米1和小米2,雷军一直标榜他的窄边框,到了小米3就压根不提了。我就觉得雷军你们的硬件技术不过关,既想着怎么搞个高配置,又想着怎么省钱,最后就牺牲在了制造工艺上。小米3终结了我对小米的好感。 我在看了魅族MX3的发布会之后,特别是关于flyme3.0的介绍,我开始留意魅族,到魅族体验店体验了一把,魅族的工艺确实好,但是还不是我想要的那种感觉,就中间那个大M键都让我纠结,还有什么鸡肋的smart bar,一点不习惯,也不喜欢。我想我是不是入俗转向iphone,我去商店看了iPhone5,一方面太窄,太小,另一方面它的系统体验,我自我感觉是受束缚的,还不是我想要的感觉。我的手机梦一直悬着。 后来我司前两天出了荣耀3c,我看了配置看了款式,心动,我觉得这款手机特别适合我的感觉,价格798,我觉得这个手机要大卖。果不其然,两天的预约量就近400万了。我突然发现我又找到手机的追求方向了。虽然我的理想是2G内存,EMUI也不尽我意,不要用联发科的芯片。但是我是公司的一员,我看到了公司做出了我喜欢类型的手机,突然我就对我司的手机有了认同感,之前我可能是个米粉,但是现在我正式宣布,从今之后,我从米粉变成花粉+高级米黑了,关注EMUI,关注荣耀,关注华为手机!。
使用Ajaxupload.js上传文件
ajaxupload.js 是一款使用jquery上传文件的js插件,对于简单的文件上传,足够可以应付。 该插件主要有以下几个选项: settings = { action: 'upload.php', //要提交的地址 name: 'userfile',//参数名次 data: {},//和文件一起提交的其它参数 autoSubmit: true,//选中文件后是否就提交 responseType: false,//返回的相应格式,如果是text格式的,会在响应前后加上一个<pre></pre>标签 hoverClass: 'hover', disabledClass: 'disabled', onChange: function(file, extension){//在选中了文件的时候触发 }, onSubmit: function(file, extension){//在提交的时候触发 }, onComplete: function(file, response){//上传结束的时候触发 } } 你可以使用非自动提交的方式上传文件。 代码示例如下: var ajaxupload =new AjaxUpload($("#uploadFile_button"),{ action: "upload.action", type:"POST", data:{}, autoSubmit:false, responseType:"json", name:'file', onChange: function(file, ext){ if(ext && (/^(xls)$/.test(ext) )){ alert("只支持xls格式的文件"); } }, onComplete: function(file, resp){ alert("上传成功"); } }); 以上代码绑定了id=uploadFile_button的html元素,只要点击它,就会弹出选择文件的对话框。 当选中了文件,你就可以手动触发它上传文件,当然你也可以在正式提交前设置一些参数。 ajaxupload.setData({id,"1"}); ajaxupload.submit(); 注意:当在chrome浏览器下面,该插件存在一个bug 就是重复选择相同的文件,onChange方法不会触发多次, ajaxupload.js只适合简单的文件上传的场景,并没有显示速度的功能,也无法显示进度。 虽然该插件已经很久不再更新,但是使用简单,也有一些人一直在用。 如果你需要更强大的上传功能,ajaxupload.js可能不太适合你。 ...
TOMCAT配置HTTPS和SSL并HTTP请求强转为HTTPS请求【绝对有效】
1、生成keystore文件 keytool -v -genkey -alias tomcat -keyalg RSA -keystore /home/test/my.keystore 在生成keystore的过程中,要输入一些站点信息和密码,并要求再次核对密码 2、编辑tomcat/conf/server.xml 找到对应的connector,取消注释,并且写入keystore文件路径和密码 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/home/test/my.keystore" keystorePass="123456"/> 3、强制HTTP转HTTPS 对工程的web.xml进行修改,加入: <security-constraint> <web-resource-collection> <web-resource-name>OPENSSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> 4、禁用不安全的http方法 在tomcat/conf/web.xml最后加上一个节点 <security-constraint> <web-resource-collection> <url-pattern>/*</url-pattern> <http-method>PUT</http-method> <http-method>DELETE</http-method> <http-method>HEAD</http-method> <http-method>OPTIONS</http-method> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint></auth-constraint> </security-constraint>
介绍一款使用html5画图的JS开源软件ichartjs
示例代码如下: <script type="text/javascript" src="ichart.1.2.min.js" ></script> <script> $(function(){ var data = [ {name : 'UC浏览器',value : 40.0,color:'#4572a7'}, {name : 'QQ浏览器',value : 37.1,color:'#aa4643'}, {name : '欧朋浏览器',value : 13.8,color:'#89a54e'}, {name : '百度浏览器',value : 1.6,color:'#80699b'}, {name : '海豚浏览器',value : 1.4,color:'#92a8cd'}, {name : '天天浏览器',value : 1.2,color:'#db843d'}, {name : '其他',value : 4.9,color:'#a47d7c'} ]; var chart = new iChart.Pie3D({ render : 'canvasDiv', data: data, title : { text : '2012年第3季度中国第三方手机浏览器市场份额', color : '#3e576f' }, sub_option : { label : { background_color:null, sign:false,//设置禁用label的小图标 padding:'0 4', border:{ enable:false, color:'#be5985' }, fontsize:11, fontweight:600, color : '#be5985' }, }, offset_angle:-60,//逆时针偏移60度 mutex : true,//只允许一个扇形弹出 showpercent:true, border :false, decimalsnum:2, width : 800, height : 400, radius:150 });chart.draw(); }); <script> 效果如下: ...