【JavaScript】原生态兼容IE6的图片轮播

《【Bootstrap】图片轮播组件Carousel》(点击打开链接)虽然做得很不错,但是由于只兼容到IE8,所以没有用的。其实原生态兼容IE6的图片轮播并没有想象中的那么难,网上的很多兼容IE6的图片轮播其实代码写得很糟糕的。首先复用性很差,根本就不知道怎么修改,然后加入了很多如同百叶窗这些可有可无的特效,把原本简短的代码弄得很差,最后,这些东西还直接用JavaScript创建组件来显示自己的Javascript学得有多么地强大,然后又不好好教别人怎么做,直接用一个JS写完整个网页个人觉得相当不好,HTML、CSS、Javascript三者应该是不分彼此的。其实,有了《【JavaScript】利用getElementsByTagName与getElementsByName改进原生态兼容IE6标签页》(点击打开链接)的启发,这东西实现起来根本就是易如反掌。

一、基本目标

以下就是Winxp中的IE6,当然点击右下角的1,2,3,4能够自动切换,最重要的是,这东西能够自己轮播,你可以看到我的IE6一直处于非激活的状态。之后,左下角有相应的图片文字说明。你完全可以改成一些新闻图片与新闻标题,甚至利用php,jsp,asp等从数据库读取图片、新闻更新到这个组件里面来都没有问题。

二、基本准备

1、以下是我的站点目录,在winxp的系统文件c:\windows\wallpaper\web\里面拉来几张winxp自带的壁纸。用来做上面的实验。carousel.html读取的文件都从imgs里面读取出来。

2、HTML与CSS布局代码如下所示:

<!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=utf-8" />
    <title>carousel</title>
</head>

<body>
    <div id="carousel" style="border:1px solid #000000; float:left; width:400px;">
        <div id="tabpic">
            <div style="display:block;"><img src="imgs/Ascent.jpg" width="400px" /></div>
            <div style="display:none;"><img src="imgs/Autumn.jpg" width="400px" /></div>
            <div style="display:none;"><img src="imgs/Azul.jpg" width="400px" /></div>
            <div style="display:none;"><img src="imgs/Crystal.jpg" width="400px" /></div>
        </div>
        <div style="float:right;">
            <a href="javascript:void(0)" name="tablink" onclick="div_tab(0)" style="color:#ff0000;">1</a>
            <a href="javascript:void(0)" name="tablink" onclick="div_tab(1)" style="color:#0000ff;">2</a>
            <a href="javascript:void(0)" name="tablink" onclick="div_tab(2)" style="color:#0000ff;">3</a>
            <a href="javascript:void(0)" name="tablink" onclick="div_tab(3)" style="color:#0000ff;">4</a>
        </div>
        <div id="tabtext" style="float:left;">
            <div style="display:block;">aaaaaaaaaaaaaaaaaaa</div>
            <div style="display:none;">bbbbbbbbbbbbbbbbb</div>
            <div style="display:none;">cccccccccccccccc</div>
            <div style="display:none;">dddddddddddddd</div>
        </div>
    </div>
    <div style="clear:both;"></div>
</body>
</html>

里面的id是为了下面的javascript脚本控制,其余部分布局思想如下所示,采用了《【CSS】关于div的对齐与网页布局》(点击打开链接)中的布局方式:

三、制作过程

布局好之后就开始Javascript的制作,分页算法的切换思想的还是《【JavaScript】利用getElementsByTagName与getElementsByName改进原生态兼容IE6标签页》(点击打开链接)的分页思想,只是添加了一个setInterval("auto_tab_div()",2000);让切换自动进行而已。不赘述了。

<script>
function div_tab(tabname){
	var tabLinkArr=document.getElementsByName("tablink");
	var tabPicArr=document.getElementById("tabpic").getElementsByTagName("div");
	var tabTextArr=document.getElementById("tabtext").getElementsByTagName("div");
	for(var i=0;i<tabLinkArr.length;i++){
		if(i==tabname){
			tabLinkArr[i].style.color="#ff0000";
			tabPicArr[i].style.display="block";
			tabTextArr[i].style.display="block";
		}
		else{
			tabLinkArr[i].style.color="#0000ff";
			tabPicArr[i].style.display="none";
			tabTextArr[i].style.display="none";
		}
	}
}
var i=0;
function auto_tab_div(){
	//如果切换到最后一张图片则重新从第一张开始
	if(i>3){
		i=0;
	}
	//每两秒自动读取下一张图片
	div_tab(i);
	i++;
}
setInterval("auto_tab_div()",2000);
</script>

有了正确的思想指导,让你这个图片轮播摆哪里位置,轮播的速度控制,添加图片,甚至改成二十万张图片轮播,都是这样了。

时间: 2024-12-28 18:16:15

【JavaScript】原生态兼容IE6的图片轮播的相关文章

每日一题_JavaScript.利用纯JavaScript Dom Core实现一个图片轮播效果 ?

具体需求:1. 页面加载后每隔2秒自动从轮播图片2. 鼠标悬停或是点击页面中小图片时,大图片自动跟随切换,并且停止轮播3. 鼠标离开小图片时,图片重新开始轮播 实现思路: 具体代码: html <!DOCTYPE html> <html>     <head>         <meta charset="utf-8" />         <title>Js实现图片轮播</title>         <l

【JavaScript】兼容IE6可调可控的图片滑块

图片滑块其实也与图片轮播一样,无需这么多奇奇怪怪的代码就能够实现,只是布局有点复杂,而且这东西在Bootstrap里面也没有,在网页中,这个组件也越来越少见的,毕竟这个小小的组件太浪费网络资源了,实现的逻辑还比较复杂,如果不要被特别要求,能不做最好不好. 有时候,如果一个如同<[CSS]黑色幽默,兼容IE6的纯原生态的门户网站>(点击打开链接)的简单网页就能够交货,就不要卖弄你的前端技巧了. 虽然这个组件的效率很低,但是还是讲解一下实现的原理,也是完美兼容IE6,同时包你能够随心所欲地放置这个

【AmazeUI】图片轮播组件

这个组件在IE上一直很火,其实现可以参考<[JavaScript]原生态兼容IE6的图片轮播>(点击打开链接),AmazeUI同样在移动端提供这样的组件. 其效果如下,这个结果要在谷歌.野狐禅等浏览器的手机端调试模式才能看到,在PC端会布局错乱. 用户可以自由滑动,点击下方的圆点,选择自己要浏览的图片,当鼠标悬停在图片上,其组件则不会继续轮播图片. 实现代码如下: <!--使用HTML5开发--> <!doctype html> <html class="

JS_图片轮播事件

用JavaScript实现一个简单的图片轮播事件. 主要的思想是把需要显示的图片显示出来,不需要的隐藏,然后使用自己封装的代码动画显示出来(setInterval) 贴上代码: html 1 <div class="content"> 2 <div class="img_change"> 3 <div id="img_container"></div> 4 5 <div class="

Javascript和jQuery WordPress 图片轮播插件, 内容滚动插件,前后切换幻灯片形式显示

用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美的图片轮播效果,希望这些插件能够帮助到你.Nivo Slider首先推荐的这款插件号称世界上最棒的图片轮播插件,有独立的 jQuery 插件和 WordPress 插件两个版本.目前下载量已经突破 1,800,000 次!jQuery 独立版本的插件主要有如下特色:? 16个独特的过渡效果? 简洁和有效的标记? 加载参数设置?

【JavaScript】使用Bootstrap来编写 图片轮播Carousel

图片轮播组件是一个在网页中很常见的技术,但是如果直接编写的话,需要很长的JavaScript编码,同时也不好控制大小. 如果使用Bootstrap来编写图片轮播组件Carousel,则能够节约很多时间. 同时说一下,Carousel这个词的本义是回旋木马. 一.基本目标 在网页编写多张图片的轮播组件Carousel,鼠标放在上面自带悬停效果,并且在每张图片下面配有图片说明. 由于笔者的电脑视频录制软件比较渣,也觉得没必要画太多时间在这上面,觉得只要能说明问题就行,所以下面的GIF失色比较严重,但

Javascript图片轮播

原文链接: http://www.imooc.com/article/7393 编辑HTML代码: <div id="wrap"><!--图片展示区--> <div id="inner" class="clear"><!--所有图片并排的块--> <a href="#"><img src="img/sw1.png" alt="图片已

Javascript图片轮播效果一秒换一个

/*增加一秒换一个的功能/运用定时器的用法. <html> <head> <meta charset="utf-8"> <style type="text/css"> body,div,ul,li,img{ margin: 0px; padding: 0px; } #menu{ width: 496px; margin: auto; } #head{ border: 1px solid blue; } #head im

JavaScript图片轮播,举一反三

图片轮播,在一些购物网站上运用的不胜枚举,下面简单介绍一下图片轮播的实现. 如图 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" cont