George World

技术改变明天,创新塑造未来! i(at)huadev.com Follow Me: http://t.sina.com.cn/georgeworld

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  28 随笔 :: 0 文章 :: 5 评论 :: 0 Trackbacks

#

围剿 Flash 的不仅有 HTML 5,还有 JavaScript,著名的 JavaScript 框架 jQuery 在运动特效方面已经越来越流畅,有时候你需要点一下右键来确认它不是 Flash。本文介绍了10个非常出色的 jQuery 运动特效,这些效果可以更有效地展示你的内容。

1. 流感导航菜单

下面的导航菜单,当鼠标在上面移动的时候,会很流畅地垂下解释菜单,当你将鼠标在上面快速左右移动的时候,会怀疑这是 Flash。

Fluid  Navigation – How to create an informative menu-bar with 
jQuery &  CSS

2. 转花灯

Roundabout 是一个 jQuery 插件,可以将一组 HTML 对象转换为旋转花灯的效果。

Move  Elements with Style

3. 拉洋片

拉洋片也许是 jQuery 最拿手的效果了。该效果在遇到 JavaScript 被禁用的场合会自动降级使用。

Automatic Image Slider w/ CSS & jQuery

4. jQuery Quicksand 插件

这个让人赞叹的插件,可以对一组 HTML 对象重新洗牌,效果非常出众。

jQuery  Quicksand Plugin

5. 导航滑块

这种风格的导航已经见于很多站点,鼠标在导航菜单上移动的时候,一个高亮指示条随着鼠标滑动,指示当前的导航位置。

jQuery  Magic Line Sliding Style Navigation

6. 文字的移动纹理

在文字上,显示移动的纹理,效果美轮美奂。原理是,做一个带透明文字的 PNG 图像放在一个容器里,容器的背景放一张图案,用 jQuery 移动容器的背景,很简单,不过,不支持 IE6,因为 IE6 不支持 PNG。

Text  with Moving Backgrounds

7. jDiv: jQuery 导航 Tab

一个可以显示丰富内容的下拉导航菜单(演示要翻墙)。

jDiv: A  jQuery navigation menu alternative

8. 基于 CSS3 和 jQuery 的半透明导航系统

鼠标在导航菜单上移动,显示半透明的指示图标。CSS3 做这个实在太容易了。

Halftone Navigation Menu With jQuery & CSS3

9. 云台式拉洋片

常规的拉洋片效果要么左到右,要么右到左,或者垂直上下,这个 jQuery 效果可以象云台那样扫镜头。

Animate Panning Slideshow with jQuery

10. SlideDeck

SlideDeck 是一种新颖的内容展示方式,有点类似 Outlook 的手风琴菜单,但视觉效果和用户体验更好一些。

SlideDeck

本文来源:http://devsnippets.com/article/10-jquery-transition-effects.html

转载自:http://blog.csdn.net/comsharp/archive/2010/03/02/5337530.aspx
posted @ 2010-03-02 11:28 George-tech 阅读(222) | 评论 (0)编辑 收藏

<iframe id="iFrame1" name="iFrame1" width="100%" onload="this.height=iFrame1.document.body.scrollHeight" frameborder="0" src="index.htm" mce_src="index.htm"></iframe>

posted @ 2010-03-02 11:15 George-tech 阅读(137) | 评论 (0)编辑 收藏

目前HTML编辑器可以说是种类繁多, 特别是国外, 开源的商业的, 各种版本, 不一而足. 我只是简单介绍几个常见的免费/开源 的可视化HTML编辑器 (WYSIWYG).

HTMLArea

功能一般, 文件不大, 支持是几种语言, 比较容易定制, 使用广泛,支持IE/Firefox/Mozilla等多种浏览器. 遵循BSD版权, 目前最新版是3.0.

官方网站: http://www.htmlarea.com/

FCKEditor

庞大, 功能强大, 加载慢. 在很多地方使用广泛, 比如CSDN的blog就是使用的这个. 功能也可以定制. 也支持多种浏览器, 遵循LGPL版权. 目前最新版是2.0

官方网站: http://www.fredck.com/

演示: http://www.fckeditor.net/demo/default.html

FreeTextBox

能定制编辑器界面, 包括Office 2000/Office XP/Office 2003 等界面, 运行速度一般, 功能还不错, 能够支持多种浏览器. 主要应用于ASP.net. 目前最新版是3.0.6.

官方网站: http://www.freetextbox.com/                 

演示: http://www.freetextbox.com/Default.aspx

aynHTML

界面比较象Windows, 美观度一般, 加载速度尚快, 遗憾的是只支持IE, 目前最新版本是

官方网站: http://www.aine.be/aynhtml/

演示: http://www.aine.be/aynhtml/editor.html

SPAW Ediotr

支持多种浏览器, 界面比较漂亮,类似MAC风格, 功能一般, 加载速度中等, 支持PHP比较好. GPL版权,

官方网站: http://www.solmetra.com/

演示: http://www.solmetra.com/spaw/demo/demo.php

TinyMCE

界面相当清新, 适合素雅主义使用, 功能比较强大, 不逊色于FCKEditor, 但是加载速度委实比较慢, 支持多种浏览器, 使用LGPL版权, 目前最新版本是2.0

官方网站: http://tinymce.moxiecode.com/

演示: http://tinymce.moxiecode.com/example_full.php?example=true

XinHa

界面还可以, 加载速度比较慢, 但是比TinyMCE强点, 定制功能相当强大, 而且本身支持功能也很强大, 支持多种浏览器, 也可以把它跟HTMLArea比较一下. 基于BSD授权,

官方网站: http://xinha.python-hosting.com/

演示地址: http://xinha.gogo.co.nz/xinha-nightly/examples/full_example.html

skyWriter

功能比较强大, 使用比较复杂. 开发源代码. 有兴趣可以尝试下.

官方网站: http://wysiwyg.skybuilders.com/

演示: http://wysiwyg.skybuilders.com/demos/skyWriter.html


还要许许多多的编辑器, 可以自己去发掘, 我上面发现的不过是一部分而已, 给网站制作一个参考.

想知道更多HTML编辑器, 可以访问: http://www.geniisoft.com/showcase.nsf/WebEditors

源作者:heiyeluren       2005/09/26

posted @ 2010-03-02 11:14 George-tech 阅读(577) | 评论 (0)编辑 收藏

看着个题目可能很玄乎,本来也想写的玄乎玄乎的,但Google了一下,觉得没有必要写的这么玄乎,其实,今天我就是要给大家介绍一款非常优秀的基于python(能够支持GAE)的blog程序而已,所以本文就言简意赅,不过,我会从头到尾,详细的道来整个过程。

问题的提出:1.我国内的虚拟主机感觉速度时好时坏,总不令人满意,所以有找一个稳定的主机的想法,但又不准备再花钱,因为国内和国外的主机买的时间也不长,也不想浪费金钱以及人力来搬家。2.几天前了解了一下Google App Engine,其实Google的东西总是太好太强大,以至于我这样的菜鸟只好避而远之,但又看到K_Reverter已经将整个网站都搬到了GAE,并且还实现了许多强悍的功能,所以羡慕不已。所以,有想利用GAE做点东西的想法了,只是暂时不敢大动干戈,所以今天建立一个blog程序算是尝试吧,更多的想法有待更多的尝试。

Google App Engine,简单的说就是一个Google提供的强大的开放的虚拟主机,每个用户可以建立10个app,也就是10个网站,每个网站500M的空间,也就相当于5G的个人空间。不过,大家不要动歪脑筋,因为Google的限制中一个app只能最多1000个文件,单文件最大500K,所以基本上以为这空间可以放大容量文件的就死心吧。加上GAE提供的是python语言的支持,还不支持PHP,更不用说.NET了,同时还没有MYSQL,自身提供的数据库好像还是很不强大的,另外还不支持FTP,需要使用python上传(不过还蛮好用),加上python的程序本身就不多,Google的GAE又有很多的限制,所以基本上只有拿GAE看看的份了。

今天寻找了一下python+blog,不过效果不是很好,虽然许多大大们都说python开发blog简直是小菜一碟,但我真的没有找到几个,可能国内的还不多吧。首先我找到的是pylogs,看了演示网站,觉得非常的不错,简洁明了,功能也是可以,于是就下载,上传到GAE,结果500错误,在本地调试,也是500错误,难道pylogs用的是Django 1.0框架,而Google提供的是0.96的框架?当然,pylogs是需要MYSQL支持的,而DreamHost的MYSQL是支持外联的,所以不应该存在问题。最后只好作罢。后来找到了这个micolog(官方网站(不过我这边上不去,可能又被墙了),下载地址,现在0.5版本),看到这个的时候是惊喜的,配置完成后登陆到后台完全是惊讶的,应该说这确实是一个非常不错的blog程序了,并且和wordpress做的很像,功能也类似,打着GAE python blog的旗号,让人非常喜欢。看看人家列举的功能吧:

  • custom theme
  • tags and categories for the blog entry.
  • rich content editor by tinymce
  • import data from wordpress export file
  • menu & pages management.
  • cache enabled
  • implement wordPress API and metaWeblog API ,support client writer (such as window live writer)

    看到上面这些功能我想基本上都够用了吧。既然说到这里,那么我们做一下简单的比较吧,我为什么要推荐这样的一个blog。首先不管zblog还是wordpress都需要空间存放,那就需要购买虚拟主机,而如果用GAE则完全免费,并且GAE的速度是飞快的没有怠机的(可能会有,但Google强大的集群技术应该不会出现这样的情况);其次,如果使用Google blog服务,虽然可以绑定自己的域名,但是总在页面最上显示Blogger的搜索和提示,总觉得不爽;再次,我想放自己的Google adsense怎么办(Blogger是支持adsense的)?总觉自己做模板什么的灵活一些,Blogger的adsense存放位置可能不是很灵活。可能原因还有更多,当然GAE的缺点也是有的,比如可能被墙挡住,数据库不容易控制等等。话题有点扯远,甚至说到了GAE和虚拟主机的比较去了。从上面的功能上来看,tag和categories我觉得不用说,定制皮肤还不错,我喜欢的是从wordpress导入、拥有pages功能和支持WLW,当然cache也不错。所以,如果你想用Wordpress,那么你可以先用micolog+GAE建立一个bolg试试,免费加快速访问,一定会让你惊喜的。

    回到正题,从头开始讲整个安装设置,包括Windows live writer中的设置。

    1.既然是使用GAE,那当然要注册一个GAE吧,你只要有Gmail帐号就可以了。然后按照步骤建立一个app,这样你就差不多得到你的网站名了,我注册的是tangf2004,所以可以使用tangf2004.appspot.com这个Google提供的免费二级域名来访问。

    2.下载App Engine SDK。因为要用到这个来上传app的。安装SDK,桌面上就提供了一个Google App Engine的文件夹快捷图标,进入该文件夹,看到的是一些py文件,不用管,只要知道dev_appserver.py是在本机模拟开发环境的,而appcfg.py是用于上传等工作的,具体就去参考入门指南吧。

    3.下载micolog,这是主程序当然要下载了。完成后是一个压缩包,将该压缩包解压缩到Google App Engine所在目录。

    4.进入Google App Engine下的micolog目录,用文本编辑器打开app.yaml文件,这是一个配置文件,只需要将第一行的application后的内容改成你所建立的app的ID就可以了,比如我的就是tangf2004。(要知道第一次就是因为没有理解这个导致文件上传到GAE都没有成功,笨吧)

    5.开始-运行-cmd,命令行进入到Google App Engine目录,输入命令:appcfg.py update micolog/,回车确定。第一次上传的话会提示输入Email,就是你自己注册的Gmail地址,密码也是你的gmail地址,然后提示一些信息,大致就是验证通过、找到多少文件、开始上传、结束上传等信息,很快就完成了。(如第4点所说,如果app.yaml文件的ID是错的那么你是上传不成功的)

    6.那就赶紧开始你的Blog之旅吧。登录tangf2004.appspot.com就可以看到效果了。点击右上角的admin就可以开始管理你的blog了。看一下简单的后台吧,和wordpress很像哦。

    虽然看上去完工了,但后续工作还没有完。下面再说几件事情吧。

    将该app绑定到一个自有的二级域名

    首先该域名是已经注册了Google apps,如何注册请看我的上一文:Google apps注册以及解析ghs.google.com。(不过遗憾的是,好像我上文提供的ghs的替代IP又出问题了,下面留言的朋友提供的IP也不行,最后勉强又找了一个可用的IP。我怀疑徐明的博客就是因为墙挡住了而无法访问)。

    然后,进入到appengine中你刚刚建立的app的控制面板,在左侧的管理工具栏中点击Versions,有一个add domain的按钮,就是它了,点击进入下一页面提示输入域名,直接就是国际域名,比如我的就是sharesh.cn,如果你的域名还没有注册Google apps那么会提示无法继续的。再继续的话就是进入到Google apps的管理面板了,提示输入域名,写一个二级域名就可以了,所以我就写了gae.sharesh.cn。确定后提示该二级域名的CNAME需要指向ghs.google.com,完成后才能确认点那个我已经完成了该操作的按钮。(这里很简单,图片也不上了,写的也很罗嗦,自己一步一步很容易搞定的)

    最后,需要在域名中设置上一步中的二级域名的CNAME记录。进入时代互联的控制面板,域名VDNS管理,增加一个二级域名gde,我没有使用CNAME,而是直接使用了A记录,A记录的IP设置为刚刚找到的可以访问的ghs对应的IP就可以了。重启VDNS,没有等待几秒,我就去点了上一步中的我已完成操作确认域名,竟然就直接可以用了,看来增加一个二级域名的DNS解析速度还是比较快的。

    所以,你现在可以通过这两个域名来访问我的GAE上的blog程序了:GAE.sharesh.cn(我自己的二级域名)和Tangf2004.appspot.com(Google提供的免费二级域名),两者访问的效果都是一样的。

    将wordpress数据导入micolog:

    这一个步骤还是很简单的,首先登录wordpress的后台,选择导出,导出的是wordpress自有个是的XML文件。然后,登录micolog后台(忘了说了,micolog的登录是和gmail已经集成了,看来又用到了gmail的API了,够强悍),在设置中的导入导出,选择刚才导出的XML文件直接导入到wordpress中,即可,非常的简单而方便。顺便要提一下的是,wordpress的固定链接,在micolog中也存在,所以,如果你真的准备搬家到GAE,那么可以使用完全一致的固定链接,对于SEO来说是不会有影响的,这一点做的非常的不错。

    只是,我在导入的时候我碰到了一个问题,竟然导入中断掉了,试了好几次都不成功,没有办法只好看XML文件,最后发现竟然有几个图片也导出成文章了,我把由图片生成的item删除,最后导入成功了,可能是wordpress的bug。

    使用Windows live writer写blog:

    上次我就写了一个文章推荐Windows live writer,没有看过的就回看一下我的文章吧:推荐:Windows live writer 2009(附WIN2003下安装方法)。用WLW来离线写作真的非常的棒,而micolog是和wordpress一样也是支持WLW离线写作的。

    首先登录micolog后台设置中的基本设置,在最下面有一个客户端(Xmlrpc)调用设置,这里写上你的用户名和密码,这样就可以支持WLW了。

    然后是配置WLW,在WLW中新增一个日志账户,其中提供者和接入地址,需要按下图填写。(这也是网上找的,不然也不会写这一点)。类型选择wordpress2.2+,接口为网址后面加/rpc,比如我的就是http://gae.sharesh.cn/rpc。经过我的测试,上传图片,嵌入iframe等都没有问题,并且WLW的缩略图等都支持,图片直接上传到GAE的空间,非常的不错。

    至此,使用GAE建立blog的过程已经全部完毕,你是否也心痒痒的要建立一个呢?那就赶紧开始吧。

    整个blog的寻找建立并摸索大概花了我小半个下午,而写此篇日志却花了我三个小时,郁闷,看来写日志真的不是一件容易的事情。不过,欣慰的是,我的网站又多了一个镜像,只是在考虑要不要真的把站点搬过去呢,我是要忍受不了国内主站的速度了。

    ====================

    早上的时候又找了一个python blog列表,开源Python博客列表(fromGoogle App Engine 中文观察):
    Plog http://code.google.com/p/pyweblog/ 示例: http://plog.appspot.com
    n23 http://code.google.com/p/n23/ 示例: http://n23.appspot.com/blog
    xian-min http://code.google.com/p/xian-min/ 示例: http://xian-min.appspot.com
    tublog http://code.google.com/p/tublog/ 示例: http://ether.appspot.com
    NiuBi http://code.google.com/p/niubi/ 示例: http://niubi.appspot.com
    onlypy http://code.google.com/p/onlypy/ 示例: http://onlypython.appspot.com
    英文
    Potlatch Blog http://github.com/araddon/potlatchblog/tree/master DEMO: http://aaronspotlatch.appspot.com/
    Bloog http://github.com/DocSavage/bloog/tree/master DEMO: http://bloog.appspot.com/

    Rover.Tang , tfljh@163.com
    http://Tangf.CnBlogs.Com
    http://www.ShareSh.cn

    转载自:http://www.cnblogs.com/Tangf/archive/2009/02/23/1374539.html

  • posted @ 2010-03-02 11:13 George-tech 阅读(692) | 评论 (0)编辑 收藏

    转自http://blog.matrix.org.cn/page/Kaizen/?anchor=jtable_%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87

    JTable 显示图片

    Posted on Saturday 2006年01月07日

    今天在matrix上面看到的一个关于jtable显示图片的问题,以前我也没有实现过,今天在网上查找了半天,终于是有所了解。原来最基础的AbstractTableModel的getColumnClass不管你列中的类是什么都返回Object.class,而DefaultTableModel并没有覆盖这个方法,JTable中的DefaultTableCellRenderer对Object类的显示处理就是取Object.toString,然后将内容显示,所以不处理的话,程序将会显示图片路径.
    所以需要继承AbstractTableModel 并覆写getColumnClass()
    public Class getColumnClass(int c) //关键所在,取得对象类
    {
       return getValueAt(0, c).getClass();
    }

    posted @ 2010-03-02 11:05 George-tech 阅读(917) | 评论 (0)编辑 收藏

    /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */
    package test.util;

    /**
    *
    * @author Administrator
    */
    public class StringUtil {

        public StringUtil() {
        }

        /**
         * 将指定byte数组以16进制的形式打印到控制台
         * @param hint String
         * @param b byte[]
         * @return void
         */
        public static String printHexString( byte[] b) {
            StringBuffer returnValue = new StringBuffer();
            for (int i = 0; i < b.length; i++) {
                String hex = Integer.toHexString(b[i] & 0xFF);
                if (hex.length() == 1) {
                    hex = '0' + hex;
                }
                System.out.print(hex.toUpperCase() + " ");
                returnValue.append(hex.toUpperCase() + " ");
            }

            return "[" + returnValue.toString() + "]";
        }

        /**
         *
         * @param b byte[]
         * @return String
         */
        public static String Bytes2HexString(byte[] b) {
            String ret = "";
            for (int i = 0; i < b.length; i++) {
                String hex = Integer.toHexString(b[i] & 0xFF);
                if (hex.length() == 1) {
                    hex = '0' + hex;
                }
                ret += hex.toUpperCase();
            }
            return ret;
        }

        /**
         * 将两个ASCII字符合成一个字节;
         * 如:"EF"--> 0xEF
         * @param src0 byte
         * @param src1 byte
         * @return byte
         */
        public static byte uniteBytes(byte src0, byte src1) {
            byte _b0 = Byte.decode("0x" + new String(new byte[]{src0})).byteValue();
            _b0 = (byte) (_b0 << 4);
            byte _b1 = Byte.decode("0x" + new String(new byte[]{src1})).byteValue();
            byte ret = (byte) (_b0 ^ _b1);
            return ret;
        }

        /**
         * 将指定字符串src,以每两个字符分割转换为16进制形式
         * 如:"2B44EFD9" --> byte[]{0x2B, 0x44, 0xEF, 0xD9}
         * @param src String
         * @return byte[]
         */
        public static byte[] HexString2Bytes(String src) {
            byte[] ret = new byte[8];
            byte[] tmp = src.getBytes();
            for (int i = 0; i < 8; i++) {
                ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]);
            }
            return ret;
        }
    }

    posted @ 2010-03-02 11:04 George-tech 阅读(473) | 评论 (0)编辑 收藏

    在mysql的bin目录下执行:

    mysqldump --user=用户名 --password=密码 --database 数据库名 >备份文件的路径【可以是完整物理路径】

    如:

    mysqldump --user=root --password=root --database test > E:\mysqlBackupFile\test_backup.sql

    posted @ 2010-03-02 11:03 George-tech 阅读(175) | 评论 (0)编辑 收藏

         摘要:   #include <QApplication> #include <QtGui> #include <QLayout> #include <QStyle>  class TitleBar : public QWidget { &n...  阅读全文
    posted @ 2010-03-02 10:31 George-tech 阅读(2186) | 评论 (0)编辑 收藏

    仅列出标题
    共3页: 上一页 1 2 3