2009年11月29日星期日

黄光裕:财富人生的红与黑(转)

摘自:http://www.tem.com.cn/news/20090710/124722409023922.shtml

  从饥不择食的草根之子发迹为一掷千金的商界巨贾,从令人引颈的中国首富蜕变为市井蔑视的负罪之身,从穿梭于达官显贵中的风云人物沦落成企图饮恨自尽的囹圄囚徒……,黄光裕40岁未及的人生经历了令人瞠目的起落浮沉。而伴随着这位中国商业明星的陨落,其一手创建的国美帝国命运也充满着悬念。

  第一桶金

  在中国商人的群落中,广东潮汕人虽然不能与徽商、晋商比肩攀高,但其在海内外却久负盛名。《周府》记载:"潮民力稼穑,收果木、蔗糖及鱼盐之利,经商不出布帛、米粟之门。"人杰地灵的潮汕生产出了不少巨贾名商。资料表明,在当今全球华人富豪100强中,有近1/5为潮汕人,而其中佼佼者就是亚洲首富李嘉诚。

  与绝大部分潮汕人将李嘉诚作为心中最崇拜的偶像一样,黄光裕对于这位商界奇人更是顶礼膜拜。也许正是这种原始商业元素的发酵与驱动,16岁那年黄光裕就辍学从商。1985年,黄光裕揣着母亲为她借来的4000元钱与比自己大三岁的哥哥黄俊钦一起北上内蒙,干起了当时大量广州、福建商人从事的贸易生意。不过,黄光裕并没有在内蒙待很久,一年之后,他问自己的哥哥,周围的城市哪个最大,黄俊钦告诉他是北京,年轻气盛的黄光裕没有作任何思考,闪电般打起行囊朝北京进发。

  北京在黄光裕面前既美丽又陌生。黄光裕曾回忆:当年第一次走出北京站时,天色已晚,为了找到一家每天五毛钱的地下旅馆,一辆人力三轮车拉着哥俩绕了一大圈之后才将他们送到其实离车站不远的旅馆。而当第二天清晨他们走出地下旅馆时,兄弟俩就开始了他们在北京的服装贸易――黄光裕负责跑广州进货,黄俊钦负责坐地销售。

  在黄光裕的眼里,北京比内蒙古的城市大很多倍,生意也应该很好做,然而,一段时间过去了,黄光裕每天只能做几单生意,挣几十块钱。他的衣服远不如想象的好卖,甚至还出现了积压。在《105亿传奇》里,黄光裕说:"我心太粗,布料、季节性等问题让我头疼,我干不了。"半年后,黄光裕和黄俊钦就放弃了服装销售。

  市场如布。有心的商人总能捕捉到发财的机会。在对服装市场周围的环境经过几天的考察后,黄光裕最终决定盘下一个面积不足100平方米的国营服装销售门市部,并通过老乡关系在银行贷款了3万元,干起了家用电器的买卖。1987年1月1日,黄光裕正式打出了"国美电器"的招牌。

  与其他很多富豪类似,在白手起家的神话后面,传言一直相生相伴。围绕着黄光裕财富"原罪"的质疑,黄光裕曾回应称自己当时出售很多国外家电主要来自北京最大的收购站――在那里有大量出国人员从国外带回来的家电产品,而且都有正规手续。至于为什么经营的是家电,有关黄俊钦的一则轶事也许可以作为解释之一。据称黄俊钦自小就对组装电器着迷,有一年春节,他花200元买了一个显示屏和一堆配件鼓捣了一宿,次日清晨全家醒来惊喜地发现,一台电视机已组装完成。

  应当承认,在1980年代中后期,中国进口家电门槛依然很高,像国美这种个体户式的零售店很难通过正常的渠道获得货源,而乘虚而入的二手家电正好满足了国美的需求。对此,我们无论如何无法否认黄光裕市场切入点之精准。因为,尽管当时中国经济进入了新的扩张时期,但物质条件仍然相当落后,流通领域商品奇缺,几乎所有的消费品都是卖方市场,尤其是家电市场依旧是清一色的外国品牌。不仅如此,黄光裕从一开始就打出了与众不同的销售旗帜――在家电有货不愁卖的情况下,国美走坚持零售、薄利多销的经营策略。在营销渠道上,黄光裕的许多做法当时都有领开先河的价值:1990年,国美首创"包销"制,1991年率先在《北京晚报》中缝登出商品报价广告,1993年开始在北京地区开设多家店铺并开始涉足房地产业。也就是在1993年,黄氏两兄弟分家――黄光裕分得了"国美"品牌和几十万元现金,而包括房地产业务在内的资产归黄俊钦,后者创办了以房地产为主业的新恒基集团。

  商者无域

  尽管黄光裕只是初中肄业,但他却喜欢读书,尤其是喜欢读关于李嘉诚的书,其中李氏"商者无域、相融共生"的经商名言对他影响最大。黄光裕不仅经常在公司员工面前推介这句语录,而且还将其裱在自己办公室的墙上作为座右铭。而追踪黄光裕在零售王国的扩张过程,人们其实很容易发现他已经将李嘉诚的商业理念应用到了极致。

  与1980年代后期的行业生态不同,随着90年代初期国家对家电业的开放,大量制造企业开始进入上游,涉足家电产品的生产,一时间,家电产量迅速膨胀,市场售价被快速拉低,家电业很快进入到供过于求的阶段,市场也开始由以国外产品为主转向以国内产品为主。然而,当时国内家电业流行的是代理制,即生产厂家在全国市场设立几个大的供应商,这些供应商为一级供应商,在这些供应商下面,又有若干个二级代理商,出厂的产品的价格则一级级的提高。传统的家电销售渠道就成为了一个金字塔形,有的二级代理商下面,还有三级、四级,最后才到达销售终端。已经在家电销售领域摸爬滚打多年的黄光裕这时其实已经强烈感受到了这种销售体制的弊端和可以给自己创造的又一次市场机遇。1996年,一场国美的渠道革命在黄光裕的直接筹划下发生了。

  按照当时黄光裕的经销新构架,国美在北京率先以包销、招标、定制等形式和厂家进行联动,这样完全抛开了过去横亘在自己和厂家之间的各种代理商。此一时彼一时。尽管当时黄光裕所贯彻的仍然是低价策略,但不能不说在渠道变革力量的驱动下其已经上升到了一个新的高度――过去往往有诸多品种限制,产品范围也较小――现在,通过包销、招标和定制,更多的产品以更低的价格出现了。因此,当时国美出售的同一品牌、同一型号的国产电器,有的甚至比大商场便宜2000元,并且因为销售和规模上的优势,又把小的渠道终端抛在了身后。

  早起的鸟儿有虫吃。渠道革命确立起来了国美的竞争优势,同时创造了滚滚的利润。借着这一无形资产和资本集聚的强大力量,国美于1999年走出北京,在天津开设了两家连锁店,尽管当时遭到当地竞争对手的联合抵抗,但国美具有穿透性的低价战略还是让封锁的市场渐开缺口。至2003年,国美在全国的直营门店数量突破100家,2004年底,扩张到200家,而在黄光裕东窗事发前的2008年底,国美电器在全国拥有828家门店。

  排除一切感性因素对黄光裕进行客观地评价,我们可以将黄光裕看作是中国最早预见到渠道作用的人之一,他非常清楚一旦控制了渠道,最终生产商不得不俯首称臣,而价格也可以达到新的低水平。其实黄光裕身上爆发出的这种变革思维并不止于家电行业。2000年之前,国内手机市场基本以专业店销售为主,而这样的销售模式也让手机业建立起了更加严密和层次更多的销售渠道。但是,2001年国美进军国内手机零售市场,向大量的厂家直接要货、包销,迅速撕裂手机以专业零售店销售的模型,次年,国美电脑卖场启动,PC的销售新渠道出现,价格的不断跳水又开始了……

  自此,黄光裕已经将营销"4P"理论运用有其三(价格―price 、渠道―place、促销―
promotion),接下来恐怕就是"生产"(Produce)环节的进入了。2005年6月,国美电器正式收购爱多集团电子产业51%的股权,开始研发自有品牌的家电产品,完成了连锁零售业向其上游制造业的延伸,成为国美向制造业迈出的第一步。

  与此同时,黄光裕销售领域的"圈地"运动还在持续。2006年7月,国美收购了山西北方电器,同月,以换股加现金的方式收购在香港上市的中国永乐。2007年12月,国美以36.5亿元全面托管大中电器。2008年2月,国美战胜最大竞争对手苏宁电器(16.33,-0.10,-0.61%),将三联商社(6.32,0.11,1.77%)揽入怀中。至此,国美已经成为了国内家电零售业无可争议的第一巨头,随之而来的是,"价格屠夫"、"渠道教父"、"潮汕商圣"等溢美称呼加戴在了黄光裕的头上。

  商者无域

  尽管黄光裕只是初中肄业,但他却喜欢读书,尤其是喜欢读关于李嘉诚的书,其中李氏"商者无域、相融共生"的经商名言对他影响最大。黄光裕不仅经常在公司员工面前推介这句语录,而且还将其裱在自己办公室的墙上作为座右铭。而追踪黄光裕在零售王国的扩张过程,人们其实很容易发现他已经将李嘉诚的商业理念应用到了极致。

  与1980年代后期的行业生态不同,随着90年代初期国家对家电业的开放,大量制造企业开始进入上游,涉足家电产品的生产,一时间,家电产量迅速膨胀,市场售价被快速拉低,家电业很快进入到供过于求的阶段,市场也开始由以国外产品为主转向以国内产品为主。然而,当时国内家电业流行的是代理制,即生产厂家在全国市场设立几个大的供应商,这些供应商为一级供应商,在这些供应商下面,又有若干个二级代理商,出厂的产品的价格则一级级的提高。传统的家电销售渠道就成为了一个金字塔形,有的二级代理商下面,还有三级、四级,最后才到达销售终端。已经在家电销售领域摸爬滚打多年的黄光裕这时其实已经强烈感受到了这种销售体制的弊端和可以给自己创造的又一次市场机遇。1996年,一场国美的渠道革命在黄光裕的直接筹划下发生了。

  按照当时黄光裕的经销新构架,国美在北京率先以包销、招标、定制等形式和厂家进行联动,这样完全抛开了过去横亘在自己和厂家之间的各种代理商。此一时彼一时。尽管当时黄光裕所贯彻的仍然是低价策略,但不能不说在渠道变革力量的驱动下其已经上升到了一个新的高度――过去往往有诸多品种限制,产品范围也较小――现在,通过包销、招标和定制,更多的产品以更低的价格出现了。因此,当时国美出售的同一品牌、同一型号的国产电器,有的甚至比大商场便宜2000元,并且因为销售和规模上的优势,又把小的渠道终端抛在了身后。

  早起的鸟儿有虫吃。渠道革命确立起来了国美的竞争优势,同时创造了滚滚的利润。借着这一无形资产和资本集聚的强大力量,国美于1999年走出北京,在天津开设了两家连锁店,尽管当时遭到当地竞争对手的联合抵抗,但国美具有穿透性的低价战略还是让封锁的市场渐开缺口。至2003年,国美在全国的直营门店数量突破100家,2004年底,扩张到200家,而在黄光裕东窗事发前的2008年底,国美电器在全国拥有828家门店。

  排除一切感性因素对黄光裕进行客观地评价,我们可以将黄光裕看作是中国最早预见到渠道作用的人之一,他非常清楚一旦控制了渠道,最终生产商不得不俯首称臣,而价格也可以达到新的低水平。其实黄光裕身上爆发出的这种变革思维并不止于家电行业。2000年之前,国内手机市场基本以专业店销售为主,而这样的销售模式也让手机业建立起了更加严密和层次更多的销售渠道。但是,2001年国美进军国内手机零售市场,向大量的厂家直接要货、包销,迅速撕裂手机以专业零售店销售的模型,次年,国美电脑卖场启动,PC的销售新渠道出现,价格的不断跳水又开始了……

  自此,黄光裕已经将营销"4P"理论运用有其三(价格―price 、渠道―place、促销―
promotion),接下来恐怕就是"生产"(Produce)环节的进入了。2005年6月,国美电器正式收购爱多集团电子产业51%的股权,开始研发自有品牌的家电产品,完成了连锁零售业向其上游制造业的延伸,成为国美向制造业迈出的第一步。

  与此同时,黄光裕销售领域的"圈地"运动还在持续。2006年7月,国美收购了山西北方电器,同月,以换股加现金的方式收购在香港上市的中国永乐。2007年12月,国美以36.5亿元全面托管大中电器。2008年2月,国美战胜最大竞争对手苏宁电器(16.33,-0.10,-0.61%),将三联商社(6.32,0.11,1.77%)揽入怀中。至此,国美已经成为了国内家电零售业无可争议的第一巨头,随之而来的是,"价格屠夫"、"渠道教父"、"潮汕商圣"等溢美称呼加戴在了黄光裕的头上。

  商者无域

  尽管黄光裕只是初中肄业,但他却喜欢读书,尤其是喜欢读关于李嘉诚的书,其中李氏"商者无域、相融共生"的经商名言对他影响最大。黄光裕不仅经常在公司员工面前推介这句语录,而且还将其裱在自己办公室的墙上作为座右铭。而追踪黄光裕在零售王国的扩张过程,人们其实很容易发现他已经将李嘉诚的商业理念应用到了极致。

  与1980年代后期的行业生态不同,随着90年代初期国家对家电业的开放,大量制造企业开始进入上游,涉足家电产品的生产,一时间,家电产量迅速膨胀,市场售价被快速拉低,家电业很快进入到供过于求的阶段,市场也开始由以国外产品为主转向以国内产品为主。然而,当时国内家电业流行的是代理制,即生产厂家在全国市场设立几个大的供应商,这些供应商为一级供应商,在这些供应商下面,又有若干个二级代理商,出厂的产品的价格则一级级的提高。传统的家电销售渠道就成为了一个金字塔形,有的二级代理商下面,还有三级、四级,最后才到达销售终端。已经在家电销售领域摸爬滚打多年的黄光裕这时其实已经强烈感受到了这种销售体制的弊端和可以给自己创造的又一次市场机遇。1996年,一场国美的渠道革命在黄光裕的直接筹划下发生了。

  按照当时黄光裕的经销新构架,国美在北京率先以包销、招标、定制等形式和厂家进行联动,这样完全抛开了过去横亘在自己和厂家之间的各种代理商。此一时彼一时。尽管当时黄光裕所贯彻的仍然是低价策略,但不能不说在渠道变革力量的驱动下其已经上升到了一个新的高度――过去往往有诸多品种限制,产品范围也较小――现在,通过包销、招标和定制,更多的产品以更低的价格出现了。因此,当时国美出售的同一品牌、同一型号的国产电器,有的甚至比大商场便宜2000元,并且因为销售和规模上的优势,又把小的渠道终端抛在了身后。

  早起的鸟儿有虫吃。渠道革命确立起来了国美的竞争优势,同时创造了滚滚的利润。借着这一无形资产和资本集聚的强大力量,国美于1999年走出北京,在天津开设了两家连锁店,尽管当时遭到当地竞争对手的联合抵抗,但国美具有穿透性的低价战略还是让封锁的市场渐开缺口。至2003年,国美在全国的直营门店数量突破100家,2004年底,扩张到200家,而在黄光裕东窗事发前的2008年底,国美电器在全国拥有828家门店。

  排除一切感性因素对黄光裕进行客观地评价,我们可以将黄光裕看作是中国最早预见到渠道作用的人之一,他非常清楚一旦控制了渠道,最终生产商不得不俯首称臣,而价格也可以达到新的低水平。其实黄光裕身上爆发出的这种变革思维并不止于家电行业。2000年之前,国内手机市场基本以专业店销售为主,而这样的销售模式也让手机业建立起了更加严密和层次更多的销售渠道。但是,2001年国美进军国内手机零售市场,向大量的厂家直接要货、包销,迅速撕裂手机以专业零售店销售的模型,次年,国美电脑卖场启动,PC的销售新渠道出现,价格的不断跳水又开始了……

  自此,黄光裕已经将营销"4P"理论运用有其三(价格―price 、渠道―place、促销―
promotion),接下来恐怕就是"生产"(Produce)环节的进入了。2005年6月,国美电器正式收购爱多集团电子产业51%的股权,开始研发自有品牌的家电产品,完成了连锁零售业向其上游制造业的延伸,成为国美向制造业迈出的第一步。

  与此同时,黄光裕销售领域的"圈地"运动还在持续。2006年7月,国美收购了山西北方电器,同月,以换股加现金的方式收购在香港上市的中国永乐。2007年12月,国美以36.5亿元全面托管大中电器。2008年2月,国美战胜最大竞争对手苏宁电器(16.33,-0.10,-0.61%),将三联商社(6.32,0.11,1.77%)揽入怀中。至此,国美已经成为了国内家电零售业无可争议的第一巨头,随之而来的是,"价格屠夫"、"渠道教父"、"潮汕商圣"等溢美称呼加戴在了黄光裕的头上。

  成也资本

  在国美走出京城并在全国各地铺天盖地开店的时候,黄光裕退居到了"幕后",而将整个经营大权交给了自己的妹夫张志铭。其实,没有抛头露面的黄光裕未让自己休闲片刻。一方面,黄光裕此间集中精力修研证券市场与资本运营知识,同时在1999年创办了总资产约50亿元的鹏润投资有限公司(下称鹏润投资),并下辖国美电器、鹏润地产和鹏泰投资三家企业。

  认识并结交詹培忠是黄光裕资本之旅中的最关键一环。这位比黄光裕年长23岁的潮汕老乡是在黄出生的1969年进入香港股市的,之后成功运作20多个"壳公司"上市,并赢得了香港"金牌壳王"的称号。在黄光裕的眼中,詹培忠就是自己进入资本市场的领路人和启蒙老师,没有他,自己也恐怕不能完成从"生意人"向"资本家"的身份转折。

  2000年7月,詹培忠以自己控制的BVI(英属维尔京群岛的简称)公司Golden
Mount以5600万港元现金购得京华自动化原大股东的绝大部分股份,从而控制了这家上市公司。当时舆论认为,詹培忠只追求二级市场的炒作,实际想控制上市公司很可能幕后另有其人。5个月后,京华自动化发布公告,将用现金加股权的方式向第三方购买资产以发展物业租赁业务,而卖方正是黄光裕名下的BVI公司Smartech
Cyberworks。此前,Smartech
Cyberworks出资2568万元购买了位于北京鹏润大厦的三间办公室,京华自动化则以相同的价格从黄的手中把这一物业转买过来。此次运作完成后,黄光裕以持股3600万股成为京华自动化的第二大股东。一年多以后,京华自动化发布公告,增发13.5亿股新股,全部由黄光裕名下的BVI公司Shining
Crown现金认购,公司将全力发展地产业务,而此交易完成后,黄光裕将合计持有京华自动化85.6%的股份

  但是,黄光裕的股份扩张触发了香港联交所无条件收购规则。黄光裕不得不转让11.1%的股份给机构投资者,共得7650万港元现金,其个人的持股比例也降低到74.5%。2002年7月,京华自动化发布公告正式更名为"中国鹏润"。至此,在詹培忠的协助下,黄光裕先将左手里的三间物业倒腾到右手的上市公司里,白得一个"净壳",然后通过减持套现上市公司现金,使得现金链条得以回笼。

  将部分地产业务装入中国鹏润以后,迅速扩张的电器连锁业务就成为了黄光裕寻求上市融资的下一步棋。2003年初,黄光裕成立了"北京鹏润亿福网络技术有限公司"
(下称鹏润亿福),自己拥有100%股权,然后将国美在北京、天津等地共18家子公司94家门店全部股权装入"国美电器",由鹏润亿福持有65%股份,黄光裕直接持有国美电器剩余35%股份(这个比例是为了回避商务部关于外商零售企业、外方股份比例必须在65%以下的限制)。2004年4月,"鹏润亿福"把股权全部出售给了BVI公司Ocean
Town(由另一家BVI公司Gome Holdings全资持有,Gome Hodings由黄个人独资持有),名不见经传的Ocean
Town转眼成了控制国美电器核心业务的第一大股东(65%)。两个月后,中国鹏润停牌发布公告,宣布以83亿港元的代价通过全资BVI子公司China
Eagle,从Gome Holdings手中买下Ocean
Town,从而成为"国美电器"的第一大股东(65%)。此次交易完成后,中国鹏润的主营业务将转向零售业,"中国鹏润"易名为"国美电器"。

  从最初投入8168万元(5600万元让詹培忠收购京华自动化的股份,2568万元购买北京鹏润大厦三间办公室),到最终却拿到了市值83余亿元的上市公司,短短4年内的资本腾挪让黄光裕的个人财富呈现出了几何式增长。也就在2004年,黄光裕以105亿元的身价首次成功登上了胡润财富榜,2006年,黄光裕再以200亿身价蝉联进入胡润百富傍的第二位,2008年,黄光裕超过荣智健以430亿元登临胡润财榜的中国首富位置。

  败也资本

  "国美电器"香港上市之后,黄光裕转而开始大手笔进军房地产业,即在鹏润地产的基础上,分别成立了明天地产、国美置业和尊爵地产,房地产迅速上升为黄光裕商业帝国的的一大支柱产业。而黄光裕的更大野心在于,通过左手(地产业)倒右手(零售业)的资本市场游戏实现地产价值的几何般升值。

  观察发现,在国美系的资本拼图上,中关村(6.46,0.02,0.31%)一直被定位成房地产运营的市场平台。2006年4月,鹏泰投资出资1.55亿元购入中关村29.58%股权,成为第一大股东。而对于黄光裕来说,接手中关村只是为了变现旗下的地产资产。在黄光裕看来,只有对对上市公司控股才能控制其股价,同时降低重组成本。于是,黄光裕从香港通过地下钱庄洗进了3亿元资金准备在二级市场买进中关村股票。然而,资金一下子进入中关村,动静太大,必须打压洗盘,将股价打压到低位时,掩护该笔资金进场。于是,从2007年5月开始,中关村股票一路持续下跌。至6月26日跌到当时最低价位,3亿元资金陆续进场。第二天,中关村和鹏泰投资签订了《资产重组协议》,次日,中关村股票均告涨停,随后,中关村股价连续飙涨,一个月涨幅超过80%。

  将中关村股价拉到相当高度的黄光裕这时已经在考虑3亿元资金的套现和撤离,但中关村股价的异动也引起了深交所的高度关注。在深交所发出了征询函并要求对股价异动作出说明的情况下,黄光裕当时已经感觉到了相当大的压力。为了引开监管部门的调查视线,黄光裕决定对对中关村进行停牌。

  3亿元资金始终没有撤离让黄光裕寝室难安。因此,为了制造进一步套现的机会,停牌之后的中关村发布了重大资产重组方案,即公司拟向控股股东鹏泰投资及一致行动人定向增发12.27亿股,一次收购其合并持有的价值180亿元的鹏润控股100%股权。重组方案发布当天,黄光裕开始拉高出货,两个交易日内将3亿元资金陆续撤离,第三天,中关村股价开始暴跌。螳螂捕蝉,黄雀在后。此时中国监管层已经紧紧盯住了中关村二级市场中的香港资金来源,更将黄光裕的一举一动纳入到了严密的监控之中。

  然而,此时的黄光裕不断没有收手,而且还更加高调地进入到了另一场资本市场的游戏。由于三联集团拖欠中信济南分行钱款,济南分行要求法院公开拍卖三联集团持有的三联商社(6.32,0.11,1.77%)2700万股限售股份,2008年2月14日,国美电器最终通过山东龙脊岛以每股19.90元的价格拍下了这部分股权。由于这一股份占三联商社总股本的10.67%,国美电器摇身变为了三联商社的控股股东。而在二级市场上,复牌后的三联商社股价从9.68元连续六个涨停,最高收于17.68元。但此事迅速进入到了刚成立不久的证监会稽查总队视线。

  根据中国证监会发布的信息表明,自2007年9月以后,黄光裕开始分批在二级市场买入三联商社股票。而黄光裕的操盘手则来自与山东龙脊岛,并且龙脊岛的法人代表与中信济南分行负责人关系极为密切。通过在三联商社设局,代理人获得"中介费"2500万元,黄光裕通过代理人的关系找到中信济南分行负责人,制造了"拍卖三联"的那场大戏。

  然而,黄光裕看似高明的资本大法并没有逃脱监管者的火眼金睛。拍卖会两个月后,证监会正式立案调查"三联商社二级市场股价异常波动",黄光裕正式浮出水面。按照证监会最终发布的结论,"黄光裕控制的北京鹏润投资有限公司,在三联商社和中关村重组、资产置换等重大事项过程中,有重大违法违规嫌疑。"司法部门在仔细审查了监管部门所提交的有关黄光裕犯罪事实的材料后,决定对其正式逮捕。

  国美之殇

  按照黄光裕5年前的设想,到2008年,国美门店数量要达到800-1000家以上,实现销售额1200亿元,国内市场占有率提高到10%-15%,并跨进世界500强行列,成为具有国际竞争实力的家电零售巨头。然而,身陷囹圄的黄光裕如今面对着铅华洗尽的事实,恐怕除了嗟叹之外就只能是悔恨。

  败也资本

  "国美电器"香港上市之后,黄光裕转而开始大手笔进军房地产业,即在鹏润地产的基础上,分别成立了明天地产、国美置业和尊爵地产,房地产迅速上升为黄光裕商业帝国的的一大支柱产业。而黄光裕的更大野心在于,通过左手(地产业)倒右手(零售业)的资本市场游戏实现地产价值的几何般升值。

  观察发现,在国美系的资本拼图上,中关村(6.46,0.02,0.31%)一直被定位成房地产运营的市场平台。2006年4月,鹏泰投资出资1.55亿元购入中关村29.58%股权,成为第一大股东。而对于黄光裕来说,接手中关村只是为了变现旗下的地产资产。在黄光裕看来,只有对对上市公司控股才能控制其股价,同时降低重组成本。于是,黄光裕从香港通过地下钱庄洗进了3亿元资金准备在二级市场买进中关村股票。然而,资金一下子进入中关村,动静太大,必须打压洗盘,将股价打压到低位时,掩护该笔资金进场。于是,从2007年5月开始,中关村股票一路持续下跌。至6月26日跌到当时最低价位,3亿元资金陆续进场。第二天,中关村和鹏泰投资签订了《资产重组协议》,次日,中关村股票均告涨停,随后,中关村股价连续飙涨,一个月涨幅超过80%。

  将中关村股价拉到相当高度的黄光裕这时已经在考虑3亿元资金的套现和撤离,但中关村股价的异动也引起了深交所的高度关注。在深交所发出了征询函并要求对股价异动作出说明的情况下,黄光裕当时已经感觉到了相当大的压力。为了引开监管部门的调查视线,黄光裕决定对对中关村进行停牌。

  3亿元资金始终没有撤离让黄光裕寝室难安。因此,为了制造进一步套现的机会,停牌之后的中关村发布了重大资产重组方案,即公司拟向控股股东鹏泰投资及一致行动人定向增发12.27亿股,一次收购其合并持有的价值180亿元的鹏润控股100%股权。重组方案发布当天,黄光裕开始拉高出货,两个交易日内将3亿元资金陆续撤离,第三天,中关村股价开始暴跌。螳螂捕蝉,黄雀在后。此时中国监管层已经紧紧盯住了中关村二级市场中的香港资金来源,更将黄光裕的一举一动纳入到了严密的监控之中。

  然而,此时的黄光裕不断没有收手,而且还更加高调地进入到了另一场资本市场的游戏。由于三联集团拖欠中信济南分行钱款,济南分行要求法院公开拍卖三联集团持有的三联商社(6.32,0.11,1.77%)2700万股限售股份,2008年2月14日,国美电器最终通过山东龙脊岛以每股19.90元的价格拍下了这部分股权。由于这一股份占三联商社总股本的10.67%,国美电器摇身变为了三联商社的控股股东。而在二级市场上,复牌后的三联商社股价从9.68元连续六个涨停,最高收于17.68元。但此事迅速进入到了刚成立不久的证监会稽查总队视线。

  根据中国证监会发布的信息表明,自2007年9月以后,黄光裕开始分批在二级市场买入三联商社股票。而黄光裕的操盘手则来自与山东龙脊岛,并且龙脊岛的法人代表与中信济南分行负责人关系极为密切。通过在三联商社设局,代理人获得"中介费"2500万元,黄光裕通过代理人的关系找到中信济南分行负责人,制造了"拍卖三联"的那场大戏。

  然而,黄光裕看似高明的资本大法并没有逃脱监管者的火眼金睛。拍卖会两个月后,证监会正式立案调查"三联商社二级市场股价异常波动",黄光裕正式浮出水面。按照证监会最终发布的结论,"黄光裕控制的北京鹏润投资有限公司,在三联商社和中关村重组、资产置换等重大事项过程中,有重大违法违规嫌疑。"司法部门在仔细审查了监管部门所提交的有关黄光裕犯罪事实的材料后,决定对其正式逮捕。

  国美之殇

  按照黄光裕5年前的设想,到2008年,国美门店数量要达到800-1000家以上,实现销售额1200亿元,国内市场占有率提高到10%-15%,并跨进世界500强行列,成为具有国际竞争实力的家电零售巨头。然而,身陷囹圄的黄光裕如今面对着铅华洗尽的事实,恐怕除了嗟叹之外就只能是悔恨。

2009年11月28日星期六

jQuery事件(转)

摘自:http://blog.chinaunix.net/u3/101506/showart_2002216.html


jQuery 内的 Events 模块是向 Web 应用程 序添加交互性的第一步,因为事件通常是页面上发生的事情的触发器。正如我在简介中提到的,您不应该认为事件只发生在 Form. 元素 — 实际上,任何元素都能触发事件,因此应该充分利用这一点来更轻松地构建定制的小部件,以及添加一些独特却又不局限于特定 Form. 元素的交互。

众所周知,大多数事件基于 Form. 元素。演示这些方法最好的方式就是使用它们。在开始深入研究可用的函数之前,一定要注意:Events 模块针对每个函数都遵循一种模式。每个事件函数都包含两种形式:一个没有任何参数,一个包含一个函数作为参数。二者间的差异十分重要,而且这对各个函数都 是一致的。没有参数的函数将实际激发该事件。换而言之,调用click()将实际导致该按钮被单击。在实际单击该按钮,或其click()函数被调用时,将会调用click(function)。是不是很困惑?这只是文字上的描述,举例说明之后,您就会清楚了。


清单 1. jQuery Event 方法

// ID="myButton"点击会激发该事件.例如可以使用在表单的提交等.
$("#myButton").click();
// ID="myButton"被点击时,会切换ID=myDiv标签的状态,如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
$("#myButton").click(function(){
$("#myDiv").toggle();
});
$("#myButton").click(function(){
$("#myDiv").toggle();
}).click();

如下所列的事件都符合我在之前所介绍的设计模式,而且也都具有与其相关联的两个函数。为了简单起见,我只列举了第一个:

  • blur()- 在 Form. 元素失去焦点时调用,例如,用 tab 键移出具有焦点的文本字段
  • change()- 在 Form. 元素失去焦点,并且其值因获得焦点而更改时调用。Internet Explorer 和 Firefox 对此的处理稍微不同。
  • click()- 当在页面元素(不一定是 Form. 元素)上单击时调用
  • dblclick()- 当在页面元素(不一定是 Form. 元素)上双击时调用
  • error()- 当元素出现内部错误时调用,不同的浏览器对此的处理不同,可能很多人都亲自体验过
  • focus()- 当某个 Form. 元素获得焦点时调用
  • keydown()- 当页面元素在其上/内发生一个 keypress 时调用
  • keyup()- 当页面元素在其上/内释放一个 keypress 时调用
  • keypress()- 当相同的页面元素相继发生 keydown 和 keypress 时调用
  • select()- 文本在文本字段内被选中时调用,而不是内容在组合框内被选中时(这时发生的是更改事件)调用。
  • submit()- 提交 Form. 时调用

还有一些函数不遵守上文概括的模式,而且也只包含一个可调用的函数。我将这些例外也列于此,但它们不常用:

  • resize(fn)- 对象调整大小时调用
  • scroll(fn)- iframe. 卷起时调用
  • load(fn)/unload(fn)- 对象在页面上加载/重载时发生

 

此外,您可以想像得到,一些事件是与鼠标紧密相连的。由于这些事件常被误用,所以我将它们包括在第三节。认识到这一点后,jQuery 已经用特定的函数替代了其中的一些事件。我将它们列于此,只是为了直接与底层的 DOM 事件相匹配,但对于所有的实际使用,最好使用其他的方法。比如,当鼠标在某个元素上按下或释放时,就会调用mousedown(fn)mouseup(fn)方法。然而,更多时候,却应该调用click()方法,因为此方法也会作为事件抛出,而且它更符合预期的行为,更不容易出错。试想一下这样的情况:用户在某个按钮上按下鼠标,发现错了,立即松开鼠标而不是释放鼠标。如果用户用所定义的mouseup(fn)在另一个页面元素之上释放鼠标,那么应该发生什么行为呢?理想情况下,这两个函数的使用应该限于对界面的拖放,因为这种情况下单击不会有合适的替代。

Event 模块的最后两个方法mouseover(fn)mouseout(fn)目 前在很多 Web 站点上都很常见。它们常被用来显示悬浮帮助、图片显示所需的相框和基于鼠标指针所在位置而发生的颜色改变。JQuery 认识到这两个函数还将很常用,但很多人都不能正确使用它们,这就导致很多错误。人们并不是有意要将 bug 引入其代码,而是自己不会编写嵌套组件或应对其他复杂情况的代码。因此,jQuery 向 Event 模块添加了一个新方法来替代这两个函数,这个方法就是hover(fn1, fn2)函数。


清单 2. jQuery 的 Hover 方法

一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。
当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处在
特定元素中的检测(例如,处在处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件(修正了使用mouseout事件的一个常见错误)。
//鼠标移动到上面,背景变成红色;移开,背景变成黑色
$("tr").hover(function(){
$(this).css("background","#0000ff");
},
function(){
$(this).css("background","#ffffff");
});

属性

页面交互性的一个体现就是它从页面的某个区域获得信息并将信息传送到其他位置的能力。这可以很具体,比如从一个文本字段获得信息后将信息放入一个表内;也可以很宽泛,比如从一个组合框获得信息后将信息传给服务器,然后将服务器的响应再放入另外一个不同的组合框内。交互性的核心就是页面信息的传递。

在页面上保存信息有很多不同的方式,在页面的某个元素内存储信息的方法就更多样了。您可能会想,一个简单的 <p> 所包含的信息肯定没有一个文本字段那么多(这不一定正确),因而,访问信息也有很多不同的函数。同样地,您自己可能已经有了这样的结论:如果能从页面元素 获得信息,那么也应该可以在这些元素上放置信息。实际上,每个页面元素都是一个数据对象,其中包含由 getter/setter 方法封装的变量。JavaBean 模型和 jQuery 的实际差异是方法名称和某些元素不适合特定函数的限制。

在深入研究这些方法之前,让我们先来看看什么信息存储到页面元素内。简单一些的,像 a <p>,可能只包含 CLASS 或 ID 信息。而像 <img> 则可能包含更多信息,比如 “src”、“alt”、“width” 和 “height”。而复杂一些的,像 < input type="password"> 则可能包含 “defaultValue”、“maxLength”、“readOnly” 或 “accessKey” 等信息。

这种潜在变量的多样性促使 jQuery 创建了一种广义函数来访问它们。这个函数是attr(name),可用来访问来自任何页面元素的信息。我们将通过几个示例来了解其工作原理


清单 3. jQuery attr() 函数

<img src="http://images.cnblogs.com/space.gif" id="spacer" class="a b c" alt="blank">
// 调用attr()方法,返回对应属性值
$("#spacer").attr("src"); // 返回值为"/images/space.gif"
$("#spacer").attr("alt"); // 返回值为 "blank"
// 对img进行循环
$(img).each(function(){
$(this).attr("id"); // 返回其ID,为"spacer"
});

在试图向页面添加交互性时,此函数十分有用。实际上,在添加data()函数(如下所示)之前,通常都必须将所需信息压缩到一个可用变量内。例如,假设有一个页面具有两个框架,第一个框架显示选项卡,底部框架显示每个选项卡的内容,那么可以这样设置


清单 4. 应用 attr()

<td>
<div class="tab" id="/messages.jsp">Messages</div>
</td>
// 点击class="tab"标签,会在把 “指定的框架”的location设置成该id的值。
$(".tab").click( function() {
window.parent.frames['content'].location = $(this).attr("id");
});

除了获得每个元素上的属性值外,还可以设置这些值。其效果与以编程方式更改元素外观或行为相同。


清单 5. 利用 attr(str) 更改属性

// 修改图片的src属性为myimage.jpg
$("img").attr("src", "myimage.jpg");
// 修改超级链接的href属性为mypage.html
$("a").attr("href", "mypage.html");
// 修改password的maxLength属性为10
$(":password").attr("maxLength", "10");

页面上的 Form. 元素具有一个特殊的函数,该函数可以针对这些元素调用以获得附加到元素的值。在处理表单和验证时,这一点尤其便利,而且在用 Form. 元素创建交互 Web 站点时更有可能会用到这些函数。


清单 6. Form. 元素的 val() 函数

// 检查文本内容是否为空,不为空则获取,为空则提示
$(":textfield").each(function(){
if ($(this).val() == "")
$(this).next().text("Error");
});
// 确认密码和新输入密码是否相等,不相等,则提示
if ($("#newPassword").val() != $("#confirmPass").val())
$("#newPassword").next().text("Error");

还有其他一些函数,可用来获得包含在某些标记之内的信息。那么这有什么用途呢?比如说,您可以获得包含在某个 <td> 标记内的所有信息并进行替换,或者您也可以将所有 <p> 内的文本变成小写的。获得这些信息的方式有两种,但不能为此使用attr()函数。与所有其他的属性函数类似,这些函数也有相应的 setter 方法。第一个是html()函数,它能返回某个标记的所有 innerHTML。另一个是text(),它能返回某个标记内的所有文本。那么二者有何区别呢?html()函数能返回包括 HTML 标记在内的文本,而text()则会分离二者,只返回内含的文本。以下示例展示了它们的不同之处。


清单 7. html() 与 text() 的对比

// 对每个单元格进行判断,如果为空,则赋予“-”作为占位符
$("td").each(function(){
// check the text of the table cell
if ($(this).text() == "")
$(this).text("-");
});
// 将段落中的文本字符转换成小写字母
$("p").each(function(){
var ldText = $(this).text();
var newText = oldText.toLowerCase();
$(this).text(newText);
});
<-- text() 和 html() 的功能区别-->
<div id="sample"><b>This is the example</b></div>
$("#sample").html(); // 返回 "<b>This is the example</b>"
$("#sample").text(); // 返回 "This is an example"

此外,最近还向 jQuery 库添加了用于属性的data()函 数。它源自 jQuery UI 项目并且已纳入 jQuery 的整体项目之中。起初,UI 项目开发人员只是觉得他们不想破坏某些页面元素的可用属性,于是就想到要找到一种方法,用来根据自己的需要创建能存储信息的属性。回顾上文提到过的选项卡 的例子。我其实 “破坏” 了此 DIV 的 ID 内的链接,而这显然不是最理想的方法。但是,受 jQuery 以前版本的限制,这在当时是惟一的选择。有了data()函数之后,这个问题就有了更好的解决方案。不妨将data()函 数视为用来访问包含在每个页面元素的内部 Map 的一种方式。一个 Map 实际上就是键-值对的集合。这就让开发人员可以创建他们想要给页面元素提供的任何定制属性,并能给该属性附加任意值。最终的结果就是代码的编写更简单,而 且当项目规模不断增大时,代码的维护也更容易。接下来,让我们用新的data()函数重写上文提到的示例:


清单 8. 新的 data() 函数

<td>
<div class="tab"></div>
</td>
// 在Jquery中为期初始化.
$(".tab").eq(0).text("Messages");
$(".tab").eq(0).data("link", "messages.jsp");
$(".tab").click(function(){
window.parent.frames['content'].location = $(this).data("link");
});
// 在JSP中,和jQuery混合使用.<%
String[] tabNames;
String[] links;
for (int i=0; i<tabNames.length; i++) {
%>
$(".tab").eq(<%=i%>).text("<%=tabNames[i]%>");
$(".tab").eq(<%=i%>).data("link", "<%=links[i] %>");
<% } %>
$(".tab").click(function(){
window.parent.frames['content'].location = $(this).data("link");
});

CSS 处理

本文最后的这个部分将要介绍如何在不调整样式表或重载此页面的情况下动态地处理页面的 CSS。我们将能够通过简单更改颜色、字体等向页面添加一些基本效果。jQuery 的 CSS 实际上是整个库最初的创意来源。其目标是让页面上的 CSS 编程更容易。正如您所见,此项目随后得到了充分的发展。但是项目的初衷并没有改变,jQuery 的确简化了 CSS 编程。不过,我还是先要说明一点,即 jQuery 为处理 CSS 所提供的那些传统函数实际上已经不能适应当今的 Web 环境。然后,我会介绍可以使用的其他函数(也是 jQuery 内的)。

有两个基本函数可用来处理页面上的 CSS。可以先以字符串传递单个属性,然后再以字符串传递单个值,也可以用字符串/字符串数组的形式一次传递。这两个函数的功能基本相同,并且可以很容易地更改页面的 CSS。


清单 9. css() 函数

// 为div的css赋值--方式(一)
$("div").css("backgroundColor", "#ff0000");
// 为div的css赋值--方式(二)
$("div").css("backgroundColor", "red");
// 为div的css赋值--方式(三)
$("div").css({backgroundColor: "#ff0000"}); // notice the braces and lack of quotes

可以看出这些函数非常简单直观,很容易理解和掌握。不过,考虑到目前 Web 页面设计的潮流,这些函数还存在一些问题。常规的 Web 页面都是从页面删除样式,然后在样式表中填入一个外部文件或代码片段。如果能采用其他办法,您肯定希望将样式代码放入 JavaScript. 代码中。否则,将来更改站点的外观将十分困难。

幸运的是,现在已经有了替代函数,它既能提供所需的代码分离,又能让 CSS 处理简单直观。这些函数允许从页面元素添加和删除类。通过将这些类的样式放入外部样式表,就能分离样式、数据和事件,这种分离对于复杂的页面至关重要。请看以下这些示例:


清单 10. 更佳的 CSS 处理 - addClass() 和 removeClass()

// 判断文本是否为空,是否有样式?
$(":textfield").each(function(){
if ($(this).val() == "")//如果为空
{
$(this).next().text("Error");
// 为其添加红色样式
$(this).addClass("input_error");
}
// 不为空,但是样式已经具有
else if ($(this).hasClass("input_error"))
{
$(this).next().text("");
// 去除内容,删掉样式
$(this).removeClass("input_error");
}
});

如这个示例所示,通过引用在外部样式表内定义的类来调整 CSS 是一种更可取的处理 CSS 的方法。它让 Web 站点创建者通过更改样式表就能改变整个站点错误消息的处理方式,而不再像采用css()方法时那样,必须追究代码的每个实例。虽然这些方法直观易用,但是不太适合大型 Web 应用程序,应该避免采用addClass()removeClass()方法。

综合学到的知识

要综合使用以上知识,让我们再来看看这个示例应用程序。它是一个具有交互性的 Web 应用程序,试图创建一个 RIA 并给用户这样的感觉:他们处理电子邮件所用的这个 Web 应用程序非常类似于桌面应用程序。在本例中,将利用 Event、Attribute 和 CSS 模块来定义 Web 邮件应用程序将如何处理鼠标单击和双击。以下所示的屏幕截图显示了真实的效果。当用户在表的一个行上单击时,此行将会改变颜色以突出显示用户的当前选择。 当用户在消息上双击时,用户就能看到消息,但如果用户读的是条新消息,此行的背景颜色会改变以表明此消息不再是未读消息。


图 1. 在某行上单击
在某行上单击

图 2. 在某行上双击
在某行上双击

清单 11. 综合学到的知识

// 在JSP文件中,通过for循环来显示对应的行信息.
<%
for (int i=0; i<messages.size(); i++)
{
MessageData message = messages.get(i);
%>
<tr class="messageRow" id="<%=message.id %>">
// 点击时,先移除原来的样式(可能刚才已经点过,而被设置的样式),再为被点击对象添加新的样式.
$(".messageRow").click(function() {
$(".messageRow").removeClass("message_selected");
$(this).addClass("message_selected");
});
// 双击时,先移除当前对象的样式。再显示详细信息
$(".messageRow").dblclick(function() {
if ($(this).hasClass("mail_unread"))
{
$(this).removeClass("mail_unread");
}
$.post("<%=HtmlServlet.READ_MESSAGE%>.do",
{
messageId: $(this).attr("id"),
view: "<%=view %>"},
function(data){
// Do AJAX stuff here
});
});
});

结束语

随着应用程序不断从桌面向浏览器转移,像 jQuery 这样的 JavaScript. 库的将越来越重要。应用程序会越来越复杂,这就使跨浏览器的 jQuery 成为所有 Web 应用项目的必要工具。由于易于使用和功能完备,jQuery 逐渐从其他 JavaScript. 库中脱颖而出,成为很多开发人员的最佳选择。

通过这个 jQuery 系列的第二篇文章,您实际体会到了 Web 页面上的交互、了解如何在客户端实现基本交互(无需从服务器获得信息),并借此扩展了自己的 jQuery 知识。您先是接触了 Event 模块,该模块定义页面元素如何响应各种交互,其中包括鼠标交互、键盘交互和焦点交互。事件是 Web 页面上的交互的最主要的驱动器,而且它们不必附加于 Form. 元素。我随后讨论了属性以及如何恰当地从页面元素获得属性,如何在页面元素上设置属性。您看到了通用的attr()函数可用于每个元素,并且 Form. 元素有获得其值的特殊函数。您还看到了新添加到 jQuery 的data()函数,此函数可充当每个页面元素的 HashMap,让程序员可以创建所需的任何属性。最后,您了解到如何修改页面元素的 CSS,而不需重新加载页面。您还体验了css()函数的简单和直观。但是为了分离页面的样式和 jQuery 代码,您和您的团队最好选择用addClass()removeClass()函数替代前面那些函数。

本文的最后的一部分将您所学到的这三个模块综合起来,展示了示例邮件应用程序如何处理鼠标交互。通过突出显示单击的行以及在适当的时候对消息进行 “未读” 标记,可以区分鼠标单击和双击,然后为特定于消息的数据向服务器发送一个 Ajax 调用,将消息编号传递给服务器。

在本系列的下一篇文章中,我们将要深入研究 jQuery 内的 Ajax 函数,了解它如何消除处理 Ajax 所涉及到的大量复杂特性,而使其简单到像通常那样只需调用 JavaScript. 函数。此外,我们还会谈到 jQuery 内的 Effects 模块,对于为用户创建额外的交互和视觉效果,这十分有用。下一篇文章中的最后部分将会总结整个演示邮件应用程序和我们的 jQuery 课程。到那时,希望您能自信地将这个库添加到自己的 Web 应用程序中。

Jquery:单行滚动、批量多行滚动、文字图片翻屏滚动效果的实现(转)

摘自:http://www.cnblogs.com/Fooo/archive/2009/11/07/1597838.html


一单行滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" c />
<title>无标题文档</title>
<style type="text/css">
ul,li{margin:0;padding:0}
#scrollDiv{width:300px;height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}
#scrollDiv li{height:25px;padding-left:10px;}
</style>
<script src="http://www.cssrain.cn/demo/JQuery+API/jquery-1[1].2.1.pack.js" type="text/javascript"></script>
<script type="text/javascript">
function AutoScroll(obj){
$(obj).find("ul:first").animate({
marginTop:"-25px"
},500,function(){
$(this).css({marginTop:"0px"}).find("li:first").appendTo(this);
});
}
$(document).ready(function(){
setInterval('AutoScroll("#scrollDiv")',1000)
});
</script>
</head>

<body>
<div id="scrollDiv">
<ul>
<li>这是公告标题的第一行</li>
<li>这是公告标题的第二行</li>
<li>这是公告标题的第三行</li>
<li>这是公告标题的第四行</li>
<li>这是公告标题的第五行</li>
<li>这是公告标题的第六行</li>
<li>这是公告标题的第七行</li>
<li>这是公告标题的第八行</li>
</ul>
</div>
</body>
</html>

二,多行滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
ul,li{margin:0;padding:0}
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}
#scrollDiv li{height:25px;padding-left:10px;}
</style>
<script src="http://www.cssrain.cn/demo/JQuery+API/jquery-1[1].2.1.pack.js" type="text/javascript"></script>
<script type="text/javascript">
//滚动插件
(function($){
$.fn.extend({
Scroll:function(opt,callback){
//参数初始化
if(!opt) var opt={};
var _this=this.eq(0).find("ul:first");
var        lineH=_this.find("li:first").height(), //获取行高
line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度
speed=opt.speed?parseInt(opt.speed,10):500, //卷动速度,数值越大,速度越慢(毫秒)
timer=opt.timer?parseInt(opt.timer,10):3000; //滚动的时间间隔(毫秒)
if(line==0) line=1;
var upHeight=0-line*lineH;
//滚动函数
scrollUp=function(){
_this.animate({
marginTop:upHeight
},speed,function(){
for(i=1;i<=line;i++){
_this.find("li:first").appendTo(_this);
}
_this.css({marginTop:0});
});
}
//鼠标事件绑定
_this.hover(function(){
clearInterval(timerID);
},function(){
timerID=setInterval("scrollUp()",timer);
}).mouseout();
}      
})
})(jQuery);

$(document).ready(function(){
$("#scrollDiv").Scroll({line:4,speed:500,timer:1000});
});
</script>
</head>

<body>
<p>多行滚动演示:</p>
<div id="scrollDiv">
<ul>
<li>这是公告标题的第一行</li>
<li>这是公告标题的第二行</li>
<li>这是公告标题的第三行</li>
<li>这是公告标题的第四行</li>
<li>这是公告标题的第五行</li>
<li>这是公告标题的第六行</li>
<li>这是公告标题的第七行</li>
<li>这是公告标题的第八行</li>
</ul>
</div>
</body>
</html>

三可控制向前向后的多行滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
ul,li{margin:0;padding:0}
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}
#scrollDiv li{height:25px;padding-left:10px;}
</style>
<script src="http://www.cssrain.cn/demo/JQuery+API/jquery-1[1].2.1.pack.js" type="text/javascript"></script>
<script type="text/javascript">
(function($){
$.fn.extend({
Scroll:function(opt,callback){
//参数初始化
if(!opt) var opt={};
var _btnUp = $("#"+ opt.up);//Shawphy:向上按钮
var _btnDown = $("#"+ opt.down);//Shawphy:向下按钮
var timerID;
var _this=this.eq(0).find("ul:first");
var     lineH=_this.find("li:first").height(), //获取行高
line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度
speed=opt.speed?parseInt(opt.speed,10):500; //卷动速度,数值越大,速度越慢(毫秒)
timer=opt.timer //?parseInt(opt.timer,10):3000; //滚动的时间间隔(毫秒)
if(line==0) line=1;
var upHeight=0-line*lineH;
//滚动函数
var scrollUp=function(){
_btnUp.unbind("click",scrollUp); //Shawphy:取消向上按钮的函数绑定
_this.animate({
marginTop:upHeight
},speed,function(){
for(i=1;i<=line;i++){
_this.find("li:first").appendTo(_this);
}
_this.css({marginTop:0});
_btnUp.bind("click",scrollUp); //Shawphy:绑定向上按钮的点击事件
});

}
//Shawphy:向下翻页函数
var scrollDown=function(){
_btnDown.unbind("click",scrollDown);
for(i=1;i<=line;i++){
_this.find("li:last").show().prependTo(_this);
}
_this.css({marginTop:upHeight});
_this.animate({
marginTop:0
},speed,function(){
_btnDown.bind("click",scrollDown);
});
}
//Shawphy:自动播放
var autoPlay = function(){
if(timer)timerID = window.setInterval(scrollUp,timer);
};
var autoStop = function(){
if(timer)window.clearInterval(timerID);
};
//鼠标事件绑定
_this.hover(autoStop,autoPlay).mouseout();
_btnUp.css("cursor","pointer").click( scrollUp ).hover(autoStop,autoPlay);//Shawphy:向上向下鼠标事件绑定
_btnDown.css("cursor","pointer").click( scrollDown ).hover(autoStop,autoPlay);

}     
})
})(jQuery);

$(document).ready(function(){
$("#scrollDiv").Scroll({line:4,speed:500,timer:1000,up:"btn1",down:"btn2"});
});
</script>
</head>

<body>
<p>多行滚动演示:</p>
<div id="scrollDiv">
<ul>
<li>这是公告标题的第一行</li>
<li>这是公告标题的第二行</li>
<li>这是公告标题的第三行</li>
<li>这是公告标题的第四行</li>
<li>这是公告标题的第五行</li>
<li>这是公告标题的第六行</li>
<li>这是公告标题的第七行</li>
<li>这是公告标题的第八行</li>
</ul>
</div>

<span id="btn1">向前</span>&nbsp;&nbsp;<span id="btn2">向后</span>

</body>
</html>

 

 

//---------------------------------------------------------------

单行jQuery循环滚动新闻公告代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" c />
<title>jQuery循环滚动新闻列表</title>
<style type="text/css">
ul,li{margin:0;padding:0}
#scrollDiv{width:300px;height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}
#scrollDiv li{height:25px;padding-left:10px;}
</style>
<script src="http://www.lanrentuku.com/css/jquery-1[1].2.1.pack.js" type="text/javascript"></script>
<script type="text/javascript">
function AutoScroll(obj){
        $(obj).find("ul:first").animate({
                marginTop:"-25px"
        },500,function(){
                $(this).css({marginTop:"0px"}).find("li:first").appendTo(this);
        });
}
$(document).ready(function(){
setInterval('AutoScroll("#scrollDiv")',1000)
});
</script>
</head>

<body>
<div id="scrollDiv">
  <ul>
    <li>这是公告标题的第一行</li>
    <li>这是公告标题的第二行</li>
    <li>这是公告标题的第三行</li>
    <li>这是公告标题的第四行</li>
    <li>这是公告标题的第五行</li>
    <li>这是公告标题的第六行</li>
    <li>这是公告标题的第七行</li>
    <li>这是公告标题的第八行</li>
  </ul>
</div>
</body>
</html>

Jquery:单行滚动、批量多行滚动、文字图片翻屏滚动效果的实现(转)

摘自:http://www.cnblogs.com/Fooo/archive/2009/11/07/1597838.html


一单行滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" c />
<title>无标题文档</title>
<style type="text/css">
ul,li{margin:0;padding:0}
#scrollDiv{width:300px;height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}
#scrollDiv li{height:25px;padding-left:10px;}
</style>
<script src="http://www.cssrain.cn/demo/JQuery+API/jquery-1[1].2.1.pack.js" type="text/javascript"></script>
<script type="text/javascript">
function AutoScroll(obj){
$(obj).find("ul:first").animate({
marginTop:"-25px"
},500,function(){
$(this).css({marginTop:"0px"}).find("li:first").appendTo(this);
});
}
$(document).ready(function(){
setInterval('AutoScroll("#scrollDiv")',1000)
});
</script>
</head>

<body>
<div id="scrollDiv">
<ul>
<li>这是公告标题的第一行</li>
<li>这是公告标题的第二行</li>
<li>这是公告标题的第三行</li>
<li>这是公告标题的第四行</li>
<li>这是公告标题的第五行</li>
<li>这是公告标题的第六行</li>
<li>这是公告标题的第七行</li>
<li>这是公告标题的第八行</li>
</ul>
</div>
</body>
</html>

二,多行滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
ul,li{margin:0;padding:0}
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}
#scrollDiv li{height:25px;padding-left:10px;}
</style>
<script src="http://www.cssrain.cn/demo/JQuery+API/jquery-1[1].2.1.pack.js" type="text/javascript"></script>
<script type="text/javascript">
//滚动插件
(function($){
$.fn.extend({
Scroll:function(opt,callback){
//参数初始化
if(!opt) var opt={};
var _this=this.eq(0).find("ul:first");
var        lineH=_this.find("li:first").height(), //获取行高
line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度
speed=opt.speed?parseInt(opt.speed,10):500, //卷动速度,数值越大,速度越慢(毫秒)
timer=opt.timer?parseInt(opt.timer,10):3000; //滚动的时间间隔(毫秒)
if(line==0) line=1;
var upHeight=0-line*lineH;
//滚动函数
scrollUp=function(){
_this.animate({
marginTop:upHeight
},speed,function(){
for(i=1;i<=line;i++){
_this.find("li:first").appendTo(_this);
}
_this.css({marginTop:0});
});
}
//鼠标事件绑定
_this.hover(function(){
clearInterval(timerID);
},function(){
timerID=setInterval("scrollUp()",timer);
}).mouseout();
}      
})
})(jQuery);

$(document).ready(function(){
$("#scrollDiv").Scroll({line:4,speed:500,timer:1000});
});
</script>
</head>

<body>
<p>多行滚动演示:</p>
<div id="scrollDiv">
<ul>
<li>这是公告标题的第一行</li>
<li>这是公告标题的第二行</li>
<li>这是公告标题的第三行</li>
<li>这是公告标题的第四行</li>
<li>这是公告标题的第五行</li>
<li>这是公告标题的第六行</li>
<li>这是公告标题的第七行</li>
<li>这是公告标题的第八行</li>
</ul>
</div>
</body>
</html>

三可控制向前向后的多行滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
ul,li{margin:0;padding:0}
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}
#scrollDiv li{height:25px;padding-left:10px;}
</style>
<script src="http://www.cssrain.cn/demo/JQuery+API/jquery-1[1].2.1.pack.js" type="text/javascript"></script>
<script type="text/javascript">
(function($){
$.fn.extend({
Scroll:function(opt,callback){
//参数初始化
if(!opt) var opt={};
var _btnUp = $("#"+ opt.up);//Shawphy:向上按钮
var _btnDown = $("#"+ opt.down);//Shawphy:向下按钮
var timerID;
var _this=this.eq(0).find("ul:first");
var     lineH=_this.find("li:first").height(), //获取行高
line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度
speed=opt.speed?parseInt(opt.speed,10):500; //卷动速度,数值越大,速度越慢(毫秒)
timer=opt.timer //?parseInt(opt.timer,10):3000; //滚动的时间间隔(毫秒)
if(line==0) line=1;
var upHeight=0-line*lineH;
//滚动函数
var scrollUp=function(){
_btnUp.unbind("click",scrollUp); //Shawphy:取消向上按钮的函数绑定
_this.animate({
marginTop:upHeight
},speed,function(){
for(i=1;i<=line;i++){
_this.find("li:first").appendTo(_this);
}
_this.css({marginTop:0});
_btnUp.bind("click",scrollUp); //Shawphy:绑定向上按钮的点击事件
});

}
//Shawphy:向下翻页函数
var scrollDown=function(){
_btnDown.unbind("click",scrollDown);
for(i=1;i<=line;i++){
_this.find("li:last").show().prependTo(_this);
}
_this.css({marginTop:upHeight});
_this.animate({
marginTop:0
},speed,function(){
_btnDown.bind("click",scrollDown);
});
}
//Shawphy:自动播放
var autoPlay = function(){
if(timer)timerID = window.setInterval(scrollUp,timer);
};
var autoStop = function(){
if(timer)window.clearInterval(timerID);
};
//鼠标事件绑定
_this.hover(autoStop,autoPlay).mouseout();
_btnUp.css("cursor","pointer").click( scrollUp ).hover(autoStop,autoPlay);//Shawphy:向上向下鼠标事件绑定
_btnDown.css("cursor","pointer").click( scrollDown ).hover(autoStop,autoPlay);

}     
})
})(jQuery);

$(document).ready(function(){
$("#scrollDiv").Scroll({line:4,speed:500,timer:1000,up:"btn1",down:"btn2"});
});
</script>
</head>

<body>
<p>多行滚动演示:</p>
<div id="scrollDiv">
<ul>
<li>这是公告标题的第一行</li>
<li>这是公告标题的第二行</li>
<li>这是公告标题的第三行</li>
<li>这是公告标题的第四行</li>
<li>这是公告标题的第五行</li>
<li>这是公告标题的第六行</li>
<li>这是公告标题的第七行</li>
<li>这是公告标题的第八行</li>
</ul>
</div>

<span id="btn1">向前</span>&nbsp;&nbsp;<span id="btn2">向后</span>

</body>
</html>

 

 

//---------------------------------------------------------------

单行jQuery循环滚动新闻公告代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" c />
<title>jQuery循环滚动新闻列表</title>
<style type="text/css">
ul,li{margin:0;padding:0}
#scrollDiv{width:300px;height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}
#scrollDiv li{height:25px;padding-left:10px;}
</style>
<script src="http://www.lanrentuku.com/css/jquery-1[1].2.1.pack.js" type="text/javascript"></script>
<script type="text/javascript">
function AutoScroll(obj){
        $(obj).find("ul:first").animate({
                marginTop:"-25px"
        },500,function(){
                $(this).css({marginTop:"0px"}).find("li:first").appendTo(this);
        });
}
$(document).ready(function(){
setInterval('AutoScroll("#scrollDiv")',1000)
});
</script>
</head>

<body>
<div id="scrollDiv">
  <ul>
    <li>这是公告标题的第一行</li>
    <li>这是公告标题的第二行</li>
    <li>这是公告标题的第三行</li>
    <li>这是公告标题的第四行</li>
    <li>这是公告标题的第五行</li>
    <li>这是公告标题的第六行</li>
    <li>这是公告标题的第七行</li>
    <li>这是公告标题的第八行</li>
  </ul>
</div>
</body>
</html>

CSS中!important的作用(转)

摘自:http://blog.sina.com.cn/s/blog_5673f78b0100d3o1.html

    {*rule !important}这个css规则当今在网页制作的时候的普及已经非常流行了,以前我对它的理解就停留在‘浏览器是否识别阶段’ 而没有真正去研究过,可是现在发生了变化。众所周知,!important这个规则对Ie6.0,Ie7.0和Firefox能写hack,现在就来讲解这是什么原理:
      *对于Ie系列浏览器都能够识别, firefox 浏览器则不能识别;
      !important只有Ie7.0和firefox可以识别,但是Ie6.0不能成功应用.

     (1)区别ie与firefox的hack为:border:2px solid #f00;*border:1px solid #f00;
     (2)区别Ie6.0 与Ie7.0、firefox的hack为:border:1px solid #f00!important;border:2px solid #f00;

     在(1)中,之所以把*放在后面是因为ff不识别*而导致只对它设置了一次border;而ie 系列进行了两次border设置后,后一个属性覆盖了前一个属性,故为一像素的边框。

     在(2)中,之所以把!important放在第一个border 设置,是因为它把这次border的优先级提高了,即使后面在一次甚至在N次设置border 也无效,但是Ie6.0对这个规则不接受,而导致它应用了第二次的border 设置,也就是第二次覆盖了第一次的这一原理,并不是它不识别!important;所以它的border 为2 像素的红框.

这是一个简单的应用:
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
div{
width:800px;
height:250px;
background-color:yellow!important;
background-color:red;
border:3px solid #000!important;
*border:5px solid #f00!important;
border:1px solid #000;
}
</style>
</head>

例一:

CSS

#box {
     color:red !important;
     color:blue;
}

HTML

<div id="Box"> 在不同的浏览器下,这行字的色应该不同!</div>

   这个例子应该是大家经常见到的important的用法了,在IE环境下,这行字是蓝色,在firefox下,为红色,其用法不再多说了,看下一个例子。


例二:
CSS

1 #box div{
     color:red;
}
2 .important_false{
     color:blue;
}
3.important_true{
     color:blue !important;
}

HTML

<div id="Box">
    
<div class="important_false">这一行末使用important</div>
    
<div class="important_true">这一行使用了important</div>
</div>

    例二中,CSS代码第一行设定了box里面所有div中字体色为红色,第二行和第三行都用class重新定义了自身div的字体色为蓝色,不同的是,第二行末使用important,而第三行使用了!

    默认情况下,class的优先级小于id,所以,第二行中即使用class重定义了自身样式,也无法生效,所以继承父级属性,这行字还是红色!

   但是,第三行中,用了important提升优先级(或看成强制重定义),所以这里的css得以生效,这行字变为了蓝色!

   从这个例子,得以证明,
ie对important的并不是不支持!

   
那么为什么很多人都说ie不认识它呢?我想应该是大家实战中可能都没有遇到例子中的情况:
当你想提升class的优先级时怎么办?

   也就是说大家可能都忽略了它的这一作用,只了解在命名为同一个元素的CSS代码块中,用它来提升排列顺序相对靠前的代码的优先级(例一)!

通过上边两个例子,得以总结:
    important对一个良好(或者是标准)的浏览器来说,不仅仅是从顺序上提升代码的优先级,还可以用来提升class的优先级(比如firefox),但是从IE对前者的不支持可以看出,这只是IE的一大BUG,而不能说它“不认识、不支持”!

    然而,不管怎么样,IE的这一大BUG帮助我们解决了很多兼容性问题,这显然不是件坏事!

    在IE中对盒模型(box-model)的解释是有BUG的,IE6.0之前的版本会把某元素的边框值和填充值包含在宽度之内(而不是加在宽度值上)。例如,你可能会使用以下css来指定某个容器的尺寸:
  #box
  {
   width:100px;
   border:5px;
   padding:20px;
  }
  然后在html中应用:
盒的总宽度在几乎所有浏览器中为150像素(100像素宽度+两条5像素的边框+两个20像素的填充),唯独在IE6之前版本的浏览器中仍然为100像素(边框值和填充值包含在宽度值中),使用盒模型的hack可以解决这一问题,
  #box
  {
   width:150px;        //这个是错误的width,所有浏览器都读到了
   voice-family: \}\;      //IE5.X/win忽略了\}\后的内容
   voice-family:inherit;
   width:100px;        //包括IE6/win在内的部分浏览器读到这句,新的数值(300px)覆盖掉了旧的
  } 
   还有更简单的办法如下:
  CSS:
  #box { width:150px; }
  #box div { border:5px; padding:20px; }
  HTML:
  ...

       这样一来在任何浏览器中盒的总宽度都将是150像素。
  但是即使是到了最新的IE6.0依然存在浮动模型(Float-model)的问题,值得庆幸(还是悲哀?)的是我们可以用IE中一直都不支持的!important来解决这个问题。
  !important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权(参见:W3.org的解释)。语法格式{ sRule!important },即写在定义的最后面,例如:box{color:red !important;}
  假如我们定义一个这样的样式:
  #box{background-color: #ffffff !important; background-color: #000000;}
  那么在支持该语法的浏览器,如Firefox、Opera中,能够理解!important的优先级,背景显示#ffffff颜色,而在IE中则显示#000000.

2009年11月19日星期四

鸭脖客 - 经典wordpress主题合集文章30篇(转)

鸭脖客整理了30篇wordpress主题合集的文章如下


原文地址 http://yaboke.com/in-august-2009-before-the-recommended-wordpress-themes-confluence-collection/


一些网站时不时就会发出一些wordpress主题合集,比如 “xx款令人惊奇的wordpress主题”这样的标题.

个人很喜欢看这样的文章,因为从中也许可以找到很多好看的主题不说,大量的图片让对英文不是在行的我也是一目了然其中内容所讲.

这边,今天就收集一些个人比较喜欢的免费wordpress主题合集文章如下:

其中不可避免的会有一些重复,甚至个把两款主题会出现在多个合集之中,这也说明了其精致,其优秀,其声名雀跃,其值得一用.






1.  50+高级主题网站中的免费wordpress主题( wpluxe )


2.  50+适合个人博客使用的高质量wordpress主题( wpzoom)

3.  41款视觉效果极佳的wordpress免费主题( hongkiat)


4.  2007年被下载次数最多的49款wordpress主题
( 同上 )

5.  50款漂亮的免费wordpress主题.(SixRevisions )

6.  40款优秀的免费wordpress主题.( 同上 )

7.  21款媲美收费主题的免费主题.(Smashing apps)

8.21款质量不菲的图片相册wordpress主题( 同上)

9.  15款高品质的wordpress主题(noupe)


10.又15款高品质wordpress主题( 同上 )

11.40款简洁到一塌糊涂的wordpress免费主题( speckyboy )

12.又20款简洁的wordpress免费主题( 同上 )

13.30款wordpress 2.7使用主题( 同上)

14.60款杂志新闻类wordpress主题( 1stwebdesigner)

15.  10款白板wordpress主题2006年的老文章 (Plaintxt )

16.13款造型素雅的wordpress主题( Smashing apps )

17.100款华丽且免费的wordpress主题(AntsMagazine)

18.140大杰出wordpress主题( instantshift )

19.28款拥有高质量纹理背景的wordpress主题(2expertsdesign )

20.10款创意十足且色彩斑斓的wordpress主题免费的在下面 (tutorial9)

21.wordpress免费主题50强(crazyleafdesign)

22.3栏wordpress主题大集合( wphacks )

23.85款最好的免费wordpress主题(reencoded)

24.20款顶尖的wordpress免费主题( smashingmagazine )

25.30免费且专业的wordpress主题( 同上)

26.100款优质wordpress免费主题( 同上 )

27.83款可以被称之为美丽的wordpress主题(同上)

28.2009年又一次100款优质wordpress免费主题(同上)

再加2个

29.12款免费优质的2.5栏wordpress主题( 博译论 )

30.100款wordpress杂志CMS主题( 帕兰映像)


这些….足够你看上一阵子的了,如果还嫌不够,可以随时关注鸭脖客wordpress主题栏目.

2009年11月12日星期四

报价过后怎么追客户(转)

摘自:http://baike.china.alibaba.com/doc/view-d2265581.html

  客户询价后,跟进客户是必不可少的步骤.推荐一篇文章给楼主.希望能给你有所帮助.祝你生意兴隆.

  根据我多年的经验,能在第一次拜访中就能做成生意的比例只占5%。也就是说跟进成了销售中最主要的工作。当然,永远和你不做生意的潜在客户也只占5%,这就需要一个优秀的销售人员,在日常的工作中,不断的掌握跟进方法和技巧,不断累积潜在的客户资源,达到销售越做越大的结果。

  销售员朋友们一定要明白,跟进一定是建立在第一次预约和第一次拜访的基础上的。没有第一次的判断,在跟进过程中就很难非常快的取得成绩。很多销售员也很勤奋,天天的拜访客户,天天的给客户打电话,却总是得不到准确的客户信息和情况,结果造成没有准确的判断,也就不知根据不同的情况来跟进。要主动的提出签约的请求,为的就是让客户给你一个明确的态度,让需要的客户一次就能和你签约,而不能签约的客户也要找理由来拒绝你。我们很多的销售人员由于害怕被拒绝,不敢要求客户签约,结果是能签约的单签不到,出了门或者放下电话还不知道这个客户到底需不需要自己的产品。举一个小例子,有一个销售网络电话的女业务员,通过贸易通和我聊了一个多月,也曾让我了解她的产品,可就是没直截了当的和我提出买她的产品,结果她公司的一个新来的男业务员,第一次就让我帮他买一部,并明确告诉了一个月能为我省多少钱,我答应他的拜访。结果是女业务员和男业务员一起到我公司,我看了产品就安装了一部。之后,女业务员说:黄总,我和你联系了一个月你都没有向我购买,为什么你就答应他了?我说:你没有说你要向我卖产品,我还以为你只是和我聊聊天呢!通过这个例子我想告诉大家的是,销售有时很简单,你只要搞清楚客户为什么不要你的产品?他的理由是什么?然后用什么方法来说服客户。这就是你制定跟进方案的依据。

  我往往针对不同的客户情况把跟进分成三类,1.是服务性跟进。2.转变性跟进.3.长远性跟进。这篇文章我只讲后两种跟进,因为第一种是已经做成生意的跟进,我会在今后的文章中专门讲。第二种转变性跟进,是指通过预约或者拜访知道通过努力可以达成合作的一种跟进方法。第三种长远性跟进,是指短期内还难以达成合作的跟进方法。

  所谓转变性跟进,是根据客户的态度决定的。情况有以下几种1.客户对产品还是比较感兴趣,也需要这种产品,只是对价格还有不同意见。针对这种客户的跟进,最好是收集同类产品的价格情况,从自己的产品成本出发,算账给客户听,以取得对你产品价格的认可。为了达成协议可在原报价的基础上有所下调。
2.客户对产品很感兴趣,也想购买你的产品,但由于暂时的资金问题无法购买,对这类客户你应和他做好协调,共同制定出一个时间表,让他把购买你的产品费用做进预算。当然这类客户不会直接说自己没钱,你要学会自己判断。有许多销售员不会跟进这类客户,想起跟进时,客户已经购买了别家的产品。我的做法是只要客户靠得住,先给产品再约时间收钱。3.客户对你的产品还没有一个很深的了解,态度暧昧,可买可不买。对这类客户要尽量把自己的产品说的浅显易懂,要把产品给客户带来得好处数量化,激起客户的购买欲。客户往往最关心你的产品会给他的公司带来什么样的实惠。

  所谓长远性跟进,是客户根本就不想用你的产品或者已经购买了同类产品。这类客户不会由于你积极的跟进就会要你的产品或者和你合作。对这类客户是不是就放弃不跟了呢?实践证明,往往这类客户会出现大买家,但你跟的太紧反而引起反感。最好的做法是和他真心实意的做朋友。周末一个温情的短信,逢年过节一张祝福的明信片,生日一个小小的生日礼物。只要你坚持不懈,这类客户会给你带来惊喜的。

  上面我简单的介绍了一些跟进的方法,可能并不详尽。可销售中许多方法还要你学会变通,也要你自己有一定的悟性,也要学会不断总结自己的经验。举一反三,无师自通才是销售的最高境界。

2009年11月10日星期二

创业和做生意致命的十大忌讳你防范了吗?(转)

摘自:http://club.china.alibaba.com/forum/thread/view/21_26835538_.html

创业是一个很艰苦的过程,但是不一定每个人都会成功!失败了从头再来!没有关系的!但是一定要掌握方法。
创业做生意有十大忌讳,创业路上的朋友要切记!
一忌:坐门等客。经商不跑不活,商品市场瞬息万变,商品交流讲究时效性,坐门难见客。只有跑动,才能得知市场信息,找准时机,方能盈利。

二忌:没胆量。俗话说,只要有七分把握便可行动,余下的三分把握靠你争龋遇事下不了决心,错过时机不得利,要知道经商中十拿九稳赚钱的事是不多的。

三忌:商品越贵越不卖。商品不可能只涨价不跌价,贵到一定程度,只要赚钱便卖,无论赚多赚少都要满足,若坐等高价,十有九次要吃亏。

四忌:把钱存起来。赚了后不愿再投入,把活钱变成死钱,只有得寸进尺,不断扩大经营规模,发展壮大自己事业才能更上一层楼。

五忌:好高鹜远。看不起小本小利,想一口吃成胖子,这样永远也发不了大财。只有从小到大,慢慢积少成多,一步一步地走,最后才能爬上财富的顶峰。

六忌:酒香不怕巷子深。许多人只注重生产而不注意推销,认为东西好了自然有人慕名而来,这是被动的销售手段。只有主动拉客,扩大影响,才可多销而盈大利。

七忌:人家咋干咱咋干。缺乏创造精神,总跟在别人身后,被人牵着鼻子走,别人把利收完了,你再干就获利甚少或一无所得。只有抢先一步占领市场,才能获胜。

八忌:热信息热处理。得了热门信息,便急急忙忙盲目行动,不做好充分准备,打无准备之仗败多胜少。只有认真分析研究市场,待胸有成竹,方能上马。

九忌:喜热厌冷。总以为什么东西干的人越多越有利,要知道"萝卜多地皮紧"。只有看准"不起眼"之处,爆冷门,才可能拥有市场

十忌:厚利销售。销售商品只顾销量多,利厚价高令人望而却步,结果厚利销少。只有把利看得轻些,价格合理才会有顾客,薄利多销方能赚大钱。
创业旅程的朋友们让你们快速前进的步伐在原地暂停几秒钟吧,对照上面的十忌,回望一下你走过的里程里,你都避过这些了吗?一旦发现了就一定要记得拔除,否则成功将会离你越来越远,当你明白如何巧妙的避过这些忌讳的时候,说明成功已经离你不远了。
再此提醒创业途中的朋友们,不要被一时的需要让自己本应有的一切脱离原有的轨道,让贪图小小获利,葬送大好的前程,让肤浅的世俗,挡住了看见长久未来的视线,切不可让自己变成敢想不敢为的影子。祝天下创业旅途中的朋友们一路畅顺,早日拥有辉煌成就!

2009年11月7日星期六

Google AdSense的六个优化技巧

转载:http://www.wopus.org/blog-money/skills-sharing/959.html


一、最好的单元永远是336x280

自己尝试过几乎所有的尺寸,发现还是这种尺寸的点击率最高,300x250的也不错。

放置方式推荐:

1、被正文环绕;

2、放在正文后面,读者很可能在看完正文以后想要阅读更多相关内容,如果匹配好的话,这里的点击率会很高。

二、我觉得最好的配色方式

广告的标题与网页文章的标题颜色一致,而且#0000FF效果比较好;

介绍文字、url地址全部设置为浅色(比如#88888 ;

边框、背景就不用说了,和网页背景色一致。

三、不要让网民误点

很多人喜欢通过位置布局来让用户误点击,结果是用户点了以后立马返回,给你带来的结果是单价直线下降;

同等条件下,越是网民心甘情愿的点击的广告,越能给你带来较高的收入;

点击数不是关键,每一次点击的质量才是关键。

四、做好内容,提高匹配

让你网页80%以上的内容与主题有关,匹配越好,单价越高。

不要太追求页面漂亮,各种背景图片、falsh能不要就不要,代码越简单越好。

五、论坛也能有好的收入

只要你做到:

1、去掉一些多余的东西,比如左边的一大堆用户的头衔、头像、积分等,只留一个发布者的用户名,链接到他的个人资料即可;

2、每个版块的主题要专一,灌水性质的版块就不要放ggad广告了;

3、广告摆放的位置:推荐第一楼(主贴)的下方,放一个336x280的。其它地方就不要放了,如果嫌广告单元太少,那就在最后一楼下方在放一个吧。

六、广告单元越少越好

推荐每页只在第一屏最佳的位置放一个广告,广告单元太多了,很影响单价,而且影响页面整洁。