提示:这里是模拟网站的后台操作,看一下给网站换焦点图,是不是像给播放器/浏览器换皮肤一样那么简单?
切换风格/刷新时如果看不到效果请多次点击"应用"(网络延迟问题)

0:添加callback函数 - 自定义焦点图事件

myFocus.set(p,[DOMReady],[callback])中可以设置焦点图的回调函数,以设置自定义事件代码。例如:


    myFocus.set({id:'test'},function(){
    	var obj=document.getElementById('one');//焦点图的某个li标签/某个a标签/某张img标签的ID
        obj.onclick=function(){
        	this.style.border="3px solid red";
        }
    });
    

1:修改css文件 - 个性化样式

每个风格应用都有一个css文件,你可以很方便的修改它以适合你自己网站的风格

小提示:myFocus CSS样式规则常见定义有:"pic"(主图)、"txt"(文字)、"num"(数字按钮)、"thumb"(略缩图)。

以mF_taobao2010这款风格应用为例,因为是淘宝风格默认是橙色,如果我网站的主题色是蓝色,该怎么改?

经过观察,只需更改它的按钮颜色即可:


.mF_taobao2010 .num li a{float:left;color:#333;width:20px;height:18px;position:relative;line-height:18px;border:1px solid #196BA9;text-align:center;margin-right:3px;cursor:pointer;background:#C1C8BD;text-decoration:none;}/*改字体颜色、边框颜色、背景颜色*/

.mF_taobao2010 .num li.current a,.mF_taobao2010 .num li.hover a{background:#0099FF;color:#fff;border-color:#196BA9;font-weight:bold;height:20px;line-height:20px;top:-2px;}/*按钮的当前(current)、悬停(hover)样式最好也一起改*/

我再想改变数字按钮的位置?那也一样很简单:

.mF_taobao2010 .num{position:absolute;z-index:3;left:6px;top:6px;}/*按钮样式*/

全部修改完毕,点击查看demo

或许你想再个性化一点,例如把它默认的loading图标也换掉,但发现它css中没有loading这条规则?不要紧,你可以自己添加:

.mF_taobao2010 .loading{background-image:url(自定义loading图标地址);}

这样,新的css规则将覆盖原来默认的css规则,其它所有的样式更改亦是如此。

2:修改js文件 - 个性化运动效果

还是以mF_taobao2010这款风格应用为例。

它的缓动形式(easing)默认有中有5种选择:'linear'(匀速),'swing'(摆钟),'easeOut'(减速),'easeIn'(加速),'easeInOut'(加速再到减速),如果你想你的焦点图运动的更酷一点,你可以加入更多的缓动函数,myFocus支持Tween类的所有缓动算法。(Tween类运动相关资料),另外myFocus也提供了整套easing缓动插件的下载:myFocus.easing.1.0

在下例中,我们将给它添加一个easeOutElastic的运动效果。

1、首先在这款风格应用的js文件中加入下面运动算法代码(在myFocus.easing.1.0文件中取出):

myFocus.extend( myFocus.easing {//为myFocus的easing缓动库加入easeOutElastic运动算法
    easeOutElastic: function (t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	}
});

2、再在参数easing设置中选择'easeOutElastic'效果:

<script type="text/javascript">
myFocus.set({
    id:'boxID',//焦点图盒子ID
    pattern:'mF_name',//风格应用的名称
    time:3,//切换时间间隔(秒)
    trigger:'click',//触发切换模式:'click'(点击)/'mouseover'(悬停)
    width:450,//设置宽度(主图区)
    height:296,//设置高度(主图区)
    txtHeight:'default',//文字层高度设置,'default'为默认高度,0为隐藏
    easing:'easeOutElastic'
});
</script>

改完收工,查看demo

如果你意犹未尽当然可以加入整套easing插件:myFocus.easing.1.0,在引入myFocus库后再引入它就可以使用了。('easeOutElastic'是其中之一的效果)

如果你还有疑问,欢迎到论坛或E-Mali给我留言。

© 2010/11/28 | Blog:WEB开发笔记| Created by koen_lee