网站首页的轮播新闻flash效果实现


本来公司做的外网上有一个图片滚动新闻的效果,是用jQuery插件实现的,可是客户提要求,说是嫌效果只有一个,要么从上到下变换,要么从左到右的变换,因此改成了用flash实现的效果!。

效果图如下:


从网上看了好多代码,可是不太合适,后来从一个正在使用该效果的政府网站上拷贝了他的源码,想起之前公司也做过一个类似的效果,两者对比,修改后,终于正常运行。代码如下:

$(document).ready(function(){
				var pics = ""; //定义显示图片的变量,用于拼接图片使用
				var links = "";//链接的变量,拼接链接
				var texts = "";//文字变量,用户拼接文字描述
				var picarray = new Array();
				var linksarray = new Array();
				var textsarray = new Array();
				#foreach($img in $!{imgList})
				  picarray.push("${R}$!{img.img}");
				  linksarray.push("$!{root}/article/$!{img.id}/index/新闻/图片新闻");
				  textsarray.push("$!{img.title}");
				#end
				
				pics= picarray.join("|");
				links = linksarray.join("|");
				texts = textsarray.join("|");
				
				var focus_width=300; //图片宽度
				var focus_height=243;//图片高度
				var text_height=43;//文字高度
				var swf_height = focus_height+text_height;//flash的高度=图片高度+文字高度
				var html = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ focus_width +'" height="'+ focus_height +'">'
				+ '<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="${R}flash/playswf.swf"><param name="quality" value="high"><param name="bgcolor" value="#e3e3e3">'
				+ '<param name="menu" value="false"><param name=wmode value="opaque">'
				+ '<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'">'
				+ '<embed src="${R}flash/playswf.swf" wmode="opaque" flashvars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'" menu="false" bgcolor="#F0F0F0" quality="high" width="'+ focus_width +'" height="'+ focus_height +'" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">'
				+ '</object>';
				$("#KinSlideshow").html(html);
		});



原理就是,页面加载完成后,生成一段渲染flash的HTML代码,将其赋给页面的某个元素(KinSlideshow)。 

渲染时候,图片的地址,显示文字,链接要有固定的格式,多条之间要用“|”分割开来。 上述代码中,先是对后台来的数据进行遍历(velocity模板)。每次遍历时,将其放入到数组中。遍历完成后,使用js数组的join方法,添加一个“|”,这样要显示的数据就渲染好了。然后再在flash的源码中,按照规定的格式传入即可。

flash文件的位置:

<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="${R}flash/playswf.swf">
<embed src="${R}flash/playswf.swf"
这两个地方,是flash文件的地址,指向自己的flash文件即可。

例子下载。以后就不会忘记了。http://download.csdn.net/detail/lxl631/7058747

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值