js css自动幻灯片切换,非常漂亮的JS+CSS图片幻灯切换特效

非常漂亮的JS+CSS图片幻灯切换特效,用在你的首页比较不错,宽屏图片格式,每张图片平滑飞入切换,鼠标放上自动切换,和FLASH的平滑效果差不多,视觉冲击效果很爽,而且代码也不多,调试调用都方便,建议关注一下哦!

图片幻灯切换

* { margin:0; padding:0; }

body { background:#FFF; color:#333; font:12px/1.6em Helvetica, Arial, sans-serif; }

h1, h2, h3, h4, h5, h6 { font-size:1em; }

a { color:#0287CA; text-decoration:none; }

a:hover { text-decoration:underline; }

ul, li { list-style:none; }

fieldset, img { border:none; }

legend { display:none; }

em, strong, cite, th { font-style:normal; font-weight:normal; }

input, textarea, select, button { font:12px Helvetica, Arial, sans-serif; }

table { border-collapse:collapse; }

html { overflow:-moz-scrollbars-vertical; }

#ibanner { position:relative; width:650px; height:250px; overflow:hidden; margin:20px 0 20px 300px; }

#ibanner_pic {}

#ibanner_pic a { position:absolute; top:0; display:block; width:650px; height:250px; overflow:hidden; }

#ibanner_btn { position:absolute; z-index:9999; right:5px; bottom:5px; font-weight:700; font-family:Arial; }

#ibanner_btn span { display:block; float:left; margin-left:4px; padding:0 5px; background:#000; cursor:pointer; }

#ibanner_btn .normal { height:20px; margin-top:8px; border:1px solid #999; color:#999; font-size:16px; line-height:20px; }

#ibanner_btn .current { height:28px; border:1px solid #FF5300; color:#FF5300; font-size:28px; line-height:28px; }

function $(id) { return document.getElementById(id); }

function addLoadEvent(func){

var oldonload = window.onload;

if (typeof window.onload != 'function') {

window.onload = func;

} else {

window.onload = function(){

oldonload();

func();

}

}

}

function addBtn() {

if(!$('ibanner')||!$('ibanner_pic')) return;

var picList = $('ibanner_pic').getElementsByTagName('a');

if(picList.length==0) return;

var btnBox = document.createElement('div');

btnBox.setAttribute('id','ibanner_btn');

var SpanBox ='';

for(var i=1; i<=picList.length; i++ ) {

var spanList = ''+i+'';

SpanBox += spanList;

}

btnBox.innerHTML = SpanBox;

$('ibanner').appendChild(btnBox);

$('ibanner_btn').getElementsByTagName('span')[0].className = 'current';

for (var m=0; m

var attributeValue = 'picLi_'+m

picList[m].setAttribute('id',attributeValue);

}

}

function moveElement(elementID,final_x,final_y,interval) {

if (!document.getElementById) return false;

if (!document.getElementById(elementID)) return false;

var elem = document.getElementById(elementID);

if (elem.movement) {

clearTimeout(elem.movement);

}

if (!elem.style.left) {

elem.style.left = "0px";

}

if (!elem.style.top) {

elem.style.top = "0px";

}

var xpos = parseInt(elem.style.left);

var ypos = parseInt(elem.style.top);

if (xpos == final_x && ypos == final_y) {

moveing = false;

return true;

}

if (xpos < final_x) {

var dist = Math.ceil((final_x - xpos)/10);

xpos = xpos + dist;

}

if (xpos > final_x) {

var dist = Math.ceil((xpos - final_x)/10);

xpos = xpos - dist;

}

if (ypos < final_y) {

var dist = Math.ceil((final_y - ypos)/10);

ypos = ypos + dist;

}

if (ypos > final_y) {

var dist = Math.ceil((ypos - final_y)/10);

ypos = ypos - dist;

}

elem.style.left = xpos + "px";

elem.style.top = ypos + "px";

var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";

elem.movement = setTimeout(repeat,interval);

}

function classNormal() {

var btnList = $('ibanner_btn').getElementsByTagName('span');

for (var i=0; i

btnList[i].className='normal';

}

}

function picZ() {

var picList = $('ibanner_pic').getElementsByTagName('a');

for (var i=0; i

picList[i].style.zIndex='1';

}

}

var autoKey = false;

function iBanner() {

if(!$('ibanner')||!$('ibanner_pic')||!$('ibanner_btn')) return;

$('ibanner').onmouseover = function(){autoKey = true};

$('ibanner').onmouseout = function(){autoKey = false};

var btnList = $('ibanner_btn').getElementsByTagName('span');

var picList = $('ibanner_pic').getElementsByTagName('a');

if (picList.length==1) return;

picList[0].style.zIndex='2';

for (var m=0; m

btnList[m].onmouseover = function() {

for(var n=0; n

if (btnList[n].className == 'current') {

var currentNum = n;

}

}

classNormal();

picZ();

this.className='current';

picList[currentNum].style.zIndex='2';

var z = this.childNodes[0].nodeValue-1;

picList[z].style.zIndex='3';

if (currentNum!=z){

picList[z].style.left='650px';

moveElement('picLi_'+z,0,0,10);

}

}

}

}

setInterval('autoBanner()', 5000);

function autoBanner() {

if(!$('ibanner')||!$('ibanner_pic')||!$('ibanner_btn')||autoKey) return;

var btnList = $('ibanner_btn').getElementsByTagName('span');

var picList = $('ibanner_pic').getElementsByTagName('a');

if (picList.length==1) return;

for(var i=0; i

if (btnList[i].className == 'current') {

var currentNum = i;

}

}

if (currentNum==(picList.length-1) ){

classNormal();

picZ();

btnList[0].className='current';

picList[currentNum].style.zIndex='2';

picList[0].style.zIndex='3';

picList[0].style.left='650px';

moveElement('picLi_0',0,0,10);

} else {

classNormal();

picZ();

var nextNum = currentNum+1;

btnList[nextNum].className='current';

picList[currentNum].style.zIndex='2';

picList[nextNum].style.zIndex='3';

picList[nextNum].style.left='650px';

moveElement('picLi_'+nextNum,0,0,10);

}

}

addLoadEvent(addBtn);

addLoadEvent(iBanner);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过以下步骤实现手风琴幻灯片图片切换展示特效: 1.在HTML中创建一个包含所有幻灯片的容器,并使用CSS将其设置为全屏 ``` <div class="slideshow-container"> <img src="image1.jpg" alt="Slide 1"> <img src="image2.jpg" alt="Slide 2"> <img src="image3.jpg" alt="Slide 3"> ... </div> <style> .slideshow-container { width: 100%; height: 100%; overflow: hidden; } </style> ``` 2.使用JavaScript为每个幻灯片添加事件监听器,以便在点击时展开 ``` var slides = document.querySelectorAll('.slideshow-container img'); for (var i = 0; i < slides.length; i++) { slides[i].addEventListener('click', function() { // 展开当前幻灯片 }); } ``` 3.使用CSS将所有幻灯片设置为等宽,并将它们的位置设置为重叠,以便在展开时产生手风琴效果 ``` .slideshow-container img { width: calc(100% / 5); position: absolute; top: 0; left: calc(20% * n); transition: all 0.5s ease; } ``` 4.在事件监听器中,将当前幻灯片设置为展开状态,并将其他幻灯片设置为关闭状态,以便产生手风琴效果 ``` var active = this; for (var i = 0; i < slides.length; i++) { if (slides[i] == active) { slides[i].classList.add('active'); slides[i].style.width = '60%'; } else { slides[i].classList.remove('active'); slides[i].style.width = 'calc(20% * n)'; } } ``` 5.使用CSS为展开的幻灯片设置宽度和位置,以便它占据屏幕的大部分空间 ``` .slideshow-container img.active { width: 60%; left: 20%; } ``` 这样,您就可以创建一个简单的手风琴幻灯片图片切换展示特效

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值