一款基于js的幻灯图片代码

一款基于js的幻灯图片代码for3.1正式版[已经编辑完整,可使用]

请注意,第一帖是代码部分,第二帖是css样式部分。

布局构成是div+css控制样式,所以一定不要忘了把css部分也复制到你的css文件里。

新接触dedecms,对标签不太熟悉,不知道我使用att=3这样对不对,反正我在本地测试时,显示的是正确的,只是有个问题,就是dede所生成的缩略图,并没有按照标签上规定的大小生成,不知道是我的系统环境不对,还是怎么。


使用js的幻灯效果,好处在于被抓页面缩略图时,flash会显示成空白,而这个效果会正常显示图片,还有在多浏览器下兼容性也好,falsh虽然漂亮,却只能在IE下使用了,其他浏览器因为对播放器版本支持不同,会有不显示而导致页面布局变形的问题。


我本人并没有使用dedecms建站,所以目前想看演示,可以看我现在的站
http://www.25525.com

幻灯效果是一样的,系统不是dedecms,我学习dedecms只是想研究一下,将来做其他站时想用它,现在看对标签的拆解支持还是很好的,只是官方都不使用div+css布局,让我有点迷惑,理论上标签如果可以拆解开来,应该能使用标准布局的,使用表格布局让我有点不敢恭维。

想修改样式,要修改css部分,已经是标准布局了,建议使用的朋友不要再改为table布局


CODE:
<div id="fshow" class="sysBd">
<div id="f_div">
<!--图片区域-->
<div id="f_imgDiv"></div>
<div id="f_infoDiv">
<!--数字按钮区域-->
<div id="f_buttonDiv"></div>
</div>
</div>
<!--焦点文字区域-->
<div id="f_text" class="f12b"></div>
<script>
//可修改区域
var imgWidth=410;
var imgHeight=200;
var _timeOut_=5000;
var show_text = true; //是否显示焦点文字
var timeOut=_timeOut_;
var timeOut2=_timeOut_/2;//onmouseout img后需要切换的时间
var now=0;         //第一张图
var target="_blank";   //打开方式
var button_on ='on'; //当前焦点对应按钮的样式名
var button_off ='';//非当前焦点对应按钮的样式名

//不可修改区域
var imgUrl = new Array();
var imgText = new Array();
var imgLink = new Array();
var imgAlt= new Array();
//var menuList = new Array();//菜单menu
var ver=2; //兼容浏览器版本 默认2 为非ie
var firstTime=true;
var n =-1;

{dede:arclist type='image' typeid=0 row='3' att=3}

imgUrl[++n]='[field:picname/]';
imgText[n]='<a href="[field:arcurl/]" target="_blank" class=linkblack>[field:title/]</a>';
imgLink[n]='[field:arcurl/]';
imgAlt[n]='[field:title/]';

{/dede:arclist}


var count=0;
for (i=0;i<imgUrl.length;i++) {
if( (imgUrl[i]!="") && (imgText[i]!="")&& (imgLink[i]!="")&& (imgAlt[i]!="")) {
count++;
} else {
break;
}
}
function p$(string){
document.write(string);
}
function $(id){
return document.getElementById(id);
}
//固定图片size
p$("<style> #f_img { width:"+imgWidth+"px;height:"+imgHeight+"px;</style>");
function change(){
if (ver==1){
with($('f_img').filters[0]){
Transition=1;
apply();
play();
}
}
if (firstTime){ firstTime=false;timeOut=_timeOut_/1000;}
else{
$('f_img').src=imgUrl[now];
$('f_img').alt=imgAlt[now];
$('f_imgLink').href=imgLink[now];
if (show_text) $('f_text').innerHTML=imgText[now];
for (var i=0;i<count;i++) {
$('b'+i).className="button";
//$('f_menu'+i).className="";
}
$('b'+now).className="on";
//$('f_menu'+now).className="on";
now=(now>=imgUrl.length-1)?0:now+1;
timeOut=_timeOut_;
}
theTimer=setTimeout("change()", timeOut);
}
function b_change(num){
window.clearInterval(theTimer);
now=num;
firstTime=false;
change();
}
//draw 渐变line (即css:f_line)
function draw_line(){
var div = document.createElement("div");
div.id = 'f_line';
$('f_infoDiv').insertBefore(div,$('f_infoDiv').childNodes.item(0));
}
//表现层 start
//图片
var a = document.createElement("a");
a.id="f_imgLink";
a.target=target;
a.href=imgLink[now];
$('f_imgDiv').appendChild(a);

var img = document.createElement("img");
img.id="f_img";
img.width=imgWidth;
img.height=imgHeight;
img.src=imgUrl[now];
img.alt=imgAlt[now];
a.appendChild(img);

//数字按钮
for (var i=count-1;i>=0;i--){
var div_bg = document.createElement("div");
div_bg.id = 'div_bg'+i;
div_bg.className='bg';
$('f_buttonDiv').appendChild(div_bg);
var a = document.createElement("a");
a.id = 'b'+i;
a.className = (i==now+1)?"button_on":"button_off";
a.title=imgAlt[i];
a.innerHTML=i+1;
a.href='javascript:b_change('+i+')';
$('div_bg'+i).appendChild(a);
var div= document.createElement("div");
$('f_buttonDiv').appendChild(div);
}
if (show_text) $('f_text').innerHTML = imgText[now];
//表现层 end
$('f_img').οnmοuseοver=function(){window.clearInterval(theTimer);}
$('f_img').οnmοuseοut=function(){theTimer=setTimeout("change()", timeOut2);}
try{ //滤镜版本
new ActiveXObject("DXImageTransform.Microsoft.Fade");
$('f_img').filters[0].play();
ver=1;
draw_line();
}
catch (e){ver=2;}
var theTimer = setTimeout("change()", _timeOut_/1000);

</script>
        </div>

 

 

 

#f_menu{width:410px;height:20px; margin:0 auto; overflow:hidden;}
#f_menu a{height:20px; line-height:20px; float:left; margin-right:1px; border-bottom:1px #fff solid; background:#393939; display:block; text-align:center; color:#fff; overflow:hidden;}
#f_menu a:hover{background:#FF8500;}
#f_menu a.on{background:#FF8500;}

#f_div{width:410px; height:200px; margin:0 auto; overflow:hidden;}
#f_adDiv{width:100%; height:25px; overflow:hidden;}
#f_imgDiv{width:100%; height:200px; overflow:hidden;}
#f_img{filter:progid:DXImageTransform.Microsoft.Fade(Overlap=1.00); border:0;}
#f_infoDiv{width:100%;top:-14px !important;top:-14px; position:relative;}
#f_buttonDiv{width:100%; margin-right:1px; height:14px; overflow:hidden; text-align:left;}
#f_line{margin-left:280px; width:130px;height:1px;background:#fff; overflow:hidden;filter:progid:DXImageTransform.Microsoft.Alpha(startX=0, startY=0, finishX=50, finishY=100,style=1,opacity=0,finishOpacity=100)}
#f_buttonDiv div{width:1px;height:14px; background:#fff; float:right;}
#f_buttonDiv .bg{width:14px; height:14px; background:#fff; float:right; filter:Alpha(Opacity=40);}
#f_buttonDiv a{width:14px;height:14px !important;height:14px;float:right; color:#fff;padding-top:2px !important; padding-top:0;font-family:Arial, Helvetica, sans-serif;font-size:10px;text-align:center;display:block;overflow:hidden;text-decoration:none;position:absolute;}
#f_buttonDiv a:link,#f_buttonDiv a:visited,#f_buttonDiv a:active{color:#000;}
#f_buttonDiv a:hover{background:#FF840C;color:#fff;}
#f_buttonDiv a.on:link,#f_buttonDiv a.on:visited,#f_buttonDiv a.on:active,#f_buttonDiv a.on:hover{background:#FF840C;color:#fff;}
#f_buttonDiv a.on:hover{background:#FF6600;}
#f_text{
  height:26px;
  line-height:26px;
  overflow:hidden;
  text-align:center;
  font-weight: bold;
}
#f_text a:link,#f_text a:visited,#f_text a:active{color:#000;text-decoration: none;}
#f_text a:hover{color:#FF6600;text-decoration: none;}

 

http://bbs.dedecms.com/read.php?tid=10021&keyword=%BB%C3%B5%C6

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值