`

JS 纯JS幻灯片

阅读更多

html

<!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>纯JS幻灯版</title>
<style type="text/css">
*{ margin:0; padding:0;}
#banner {width:1000px;text-align:left; background:#fff; margin:0 auto;}
#banner img{ display:block; float:left;}
.mainbox{ overflow:hidden; position:relative;}
.flashbox{ overflow:hidden; position:relative;}
.imagebox{ text-align:right;position:relative;z-index:999;}
.bitdiv{display:inline-block;width:18px;height:18px;margin:0 10px 10px 0px;cursor:pointer;float:right;}
.defimg{ background:url(styles/images/ppt_icon2.png);}
.curimg{background:url(styles/images/ppt_icon1.png);}
</style>
<script type="text/javascript" src="styles/js/ppt_ban.js"></script>
</head>
<body>
<div id="banner">
    <script>
     var box =new PPTBox();
     box.width = 1000; //宽度
     box.height = 226;//高度
     box.autoplayer = 3;//自动播放间隔时间
     //box.add({"url":"图片地址","title":"悬浮标题","href":"链接地址"})
     box.add({"url":"styles/images/fck_04.jpg","href":"###","title":"悬浮提示标题1"});
	 box.add({"url":"styles/images/fck_04.jpg","href":"###","title":"悬浮提示标题1"});
	 box.add({"url":"styles/images/fck_04.jpg","href":"###","title":"悬浮提示标题1"});
	 box.add({"url":"styles/images/fck_04.jpg","href":"###","title":"悬浮提示标题1"});
     box.show();
    </script>
</div>
</body>
</html>

 

js

function PPTBox()
{
	this.uid = PPTBoxHelper.getId();
	PPTBoxHelper.instance[this.uid] = this;
	this._$ = function(id){return document.getElementById(id);};
	this.width = 400;//宽度
	this.height = 300;//高度
	this.picWidth = 15;//小图宽度
	this.picHeight = 12;//小图高度
	this.autoplayer = 4;//自动播放间隔(秒)
	this.target = "_blank";
	this._box = [];
	this._curIndex = 0;
}
PPTBox.prototype =
{
	_createMainBox : function (){
		var flashBoxWidth = this.width * this._box.length;
		var html="<div id='"+this.uid+"_mainbox' class='mainbox'  style='width:"+(this.width)+"px;height:"+(this.height)+"px;'>";
		html += "<div id='"+this.uid+"_flashbox' class='flashbox' style='width:"+flashBoxWidth+"px;height:"+(this.height)+"px;'></div>";
		html += "<div id='"+this.uid+"_imagebox' class='imagebox' style='width:"+this.width+"px;height:"+(this.picHeight)+"px;top:-"+(this.picHeight+20)+"px;'></div>";
		html += "</div>";
		document.write(html);
	},
	_init : function (){
		var picstyle= "";
		var eventstr = "PPTBoxHelper.instance['"+this.uid+"']";
		var imageHTML="";
		var flashbox = "";
		for(var i=0;i<this._box.length;i++){
			var parame = this._box[i];
			flashbox += this.flashHTML(parame.url,this.width,this.height,i);
			imageHTML ="<div class='bitdiv "+((i==0)?"curimg":"defimg")+"' title ="+parame.title+" src='bit01.gif' "+picstyle+" onclick = \""+eventstr+".clickPic("+i+")\"  onmouseover=\""+eventstr+".mouseoverPic("+i+")\"></div>" + imageHTML;
		}
		this._$(this.uid+"_flashbox").innerHTML = flashbox;
		this._$(this.uid+"_imagebox").innerHTML = imageHTML;

	},
	_play : function(){
		clearInterval(this._autoplay);
		var idx = this._curIndex+1;
		if(idx>=this._box.length){idx=0;}
		this.changeIndex(idx);
		var eventstr = "PPTBoxHelper.instance['"+this.uid+"']._play()";
		this._autoplay = setInterval(eventstr,this.autoplayer*1000);

	},
	flashHTML : function(url,width,height,idx) {
		var isFlash = url.substring(url.lastIndexOf('.')+1).toLowerCase()=="swf";
		var html = "";
		if(isFlash){
			html = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' "
			+ "codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0' width='"+width+"' height='"+height+"'>"
			+ "<param name=\"movie\" value=\""+url+"\" />"
			+ "<param name='quality' value='high' />"
			+ "<param name='wmode' value='transparent'>"
			+ "<embed src='"+url+"' quality='high' wmode='opaque' pluginspage='http://www.macromedia.com/go/getflashplayer'"
			+"  type='application/x-shockwave-flash' width="+width+" height='"+height+"'></embed>"
			+"  </object>";
		} else {
			var eventstr = "PPTBoxHelper.instance['"+this.uid+"']";
			var style = "";
			if(this._box[idx].href){
				style = "cursor:pointer"
			}
			html="<img src='"+url+"' style='width:"+width+"px;height:"+height+"px;"+style+"' onclick = \""+eventstr+".clickPic("+idx+")\"/>";
		}
		return html;
	},
	changeIndex : function(idx){
		var parame = this._box[idx];
		moveElement(this.uid+"_flashbox",-(idx*this.width),1);
		var imgs = this._$(this.uid+"_imagebox").getElementsByTagName("div");
		imgs[this._box.length-1-this._curIndex].className = "bitdiv defimg";
		imgs[this._box.length-1-idx].className = "bitdiv curimg";
		this._curIndex = idx;
	},
	mouseoverPic:function(idx){
		this.changeIndex(idx);
		if(this.autoplayer>0){
		   clearInterval(this._autoplay);
		   var eventstr = "PPTBoxHelper.instance['"+this.uid+"']._play()";
		   this._autoplay = setInterval(eventstr,this.autoplayer*1000);
		}
	},
	clickPic:function(idx){
		var parame = this._box[idx];
		if(parame.href&&parame.href!=""){
			window.open(parame.href,this.target);
		}
	},
	add:function (imgParam){
		this._box[this._box.length] = imgParam;
	},
	show : function () {
	   this._createMainBox();
	   this._init();
	   if(this.autoplayer>0){
		   var eventstr = "PPTBoxHelper.instance['"+this.uid+"']._play()";
		   this._autoplay = setInterval(eventstr,this.autoplayer*1000);
	   }
	}
}
var PPTBoxHelper =
{
	count: 0,
	instance: {},
	getId: function() { return '_ppt_box-' + (this.count++); }
};

function moveElement(elementID,final_x,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";
  }
  var xpos = parseInt(elem.style.left);
  if (xpos == final_x ) {
		return true;
  }
  if (xpos < final_x) {
	var dist = Math.ceil((final_x - xpos)/5);
	xpos = xpos + dist;
  }
  if (xpos > final_x) {
	var dist = Math.ceil((xpos - final_x)/5);
	xpos = xpos - dist;
  }
  elem.style.left = xpos + "px";
  var repeat = "moveElement('"+elementID+"',"+final_x+","+interval+")";
  elem.movement = setTimeout(repeat,interval);
}

 

效果图:

 

 

  • 大小: 135.8 KB
2
1
分享到:
评论

相关推荐

    js简单幻灯片 javascript简单幻灯片 兼容浏览器

    JavaScript幻灯片是一种常见的网页动态效果,用于展示一系列图片、文本或其他内容,通过滑动或自动切换的方式增强用户体验。在创建一个兼容各种浏览器的JavaScript幻灯片时,我们需要考虑的关键知识点包括DOM操作、...

    JS幻灯片源代码

    本资源提供的"JS幻灯片源代码"是一个利用JavaScript实现的幻灯片展示系统,适用于网站中产品展示、图片轮播或信息滑动效果。 首先,`readme.htm`通常是项目中的说明文档,它可能包含了如何使用这个幻灯片源代码的...

    js幻灯片效果

    总结,JavaScript幻灯片效果的核心在于通过JavaScript控制幻灯片的显示与隐藏,结合CSS实现过渡动画。通过不断学习和实践,你可以创建出更多个性化和交互性强的幻灯片展示,提升网站的用户体验。

    js原生幻灯片

    通过以上步骤,我们可以构建一个功能完备且具有良好用户体验的纯JavaScript幻灯片组件。这种组件的灵活性很高,可以根据项目需求进行定制,同时也能提高页面加载速度,因为不依赖额外的JavaScript库。然而,对于大型...

    很好的JS幻灯片功能

    JavaScript幻灯片是一种常见的网页动态效果,用于展示一系列图片、文本或其他内容,通常在网站的首页或产品展示区域被广泛使用。它通过JavaScript库或框架实现,为用户提供了一种交互式的浏览体验,允许用户手动切换...

    网站首页js幻灯片代码.rar

    本压缩包“网站首页js幻灯片代码.rar”提供了一套完整的JavaScript幻灯片解决方案,适用于增强用户体验,使网页内容更加生动活泼。 在网页设计中,JavaScript是一种强大的客户端脚本语言,它可以实现在不刷新整个...

    JS实现幻灯片

    在本教程中,我们将探讨如何使用JS实现一个基本的幻灯片展示,这是一个常见的网页功能,可以优雅地切换多个图像或内容。我们将利用HTML5和CSS3来辅助实现这一效果。 首先,我们需要创建HTML结构。幻灯片通常包含一...

    15个js幻灯片和flash幻灯片效果

    在本资源中,虽然没有明确的Flash文件,但"js广告 幻灯片 flash广告"这一标签表明这些JavaScript幻灯片可能受到了Flash的启发,具有类似的动态效果。比如,它们可能包含平滑的过渡效果、自定义动画和声音效果,以...

    js幻灯片切换

    在本案例中,"js幻灯片切换"是一个使用JavaScript编写的插件,用于实现网页上的图片或内容幻灯片效果,即自动滚动或切换缩略图展示。这种效果常见于网站的首页,可以吸引用户的注意力,展示多份信息而无需占据大量...

    javascript 幻灯片

    在JavaScript幻灯片中,通常会通过JavaScript脚本来控制这些图片的显示和切换。 `js`目录下的JavaScript文件是实现幻灯片功能的核心。它们可能包含了幻灯片的逻辑代码,如定时器实现自动播放、事件监听处理用户交互...

    幻灯片JS代码

    描述中提到的“网站首页js幻灯片”,是指将这种JavaScript幻灯片应用于网站的首页。首页是用户访问网站的第一界面,因此动态幻灯片常常用来吸引用户的注意力,展示重要信息或者最新活动。开发者“自己从一个旅游网站...

    几种好看的幻灯片JS效果

    本文将深入探讨几种好看的JS幻灯片效果,并提供相关实现思路。 1. **缩略图显示**: 缩略图幻灯片效果允许用户通过预览小图选择要查看的大图。这种效果通常包括一个主幻灯片区域和一个展示所有幻灯片缩略图的侧...

    js图片幻灯片 jquery幻灯片图片 html幻灯片案例

    在这个"js图片幻灯片 jquery幻灯片图片 html幻灯片案例"中,我们有两个不同的幻灯片实现:一个是官方的示例,另一个是个人制作的案例。这意味着我们可以从这两个不同的角度学习和理解幻灯片的构建过程。 首先,基础...

    javascript原生脚本实现幻灯片效果

    JavaScript原生脚本实现幻灯片效果是一种常见的网页动态效果,尤其在网站的首页或产品展示部分广泛应用。这种效果能够以优雅的方式展示一系列图片或内容,通过点击分页按钮进行切换,增强用户体验。下面我们将详细...

    纯JavaScript响应式图片幻灯片插件

    在这个“纯JavaScript响应式图片幻灯片插件”中,我们将探讨如何利用JavaScript语言实现这一功能,而不依赖于任何外部库如jQuery。这种做法有助于减少页面加载时间,提高性能。 首先,我们来理解“响应式”设计的...

    Javascript幻灯片广告

    JavaScript幻灯片广告是一种常见的网页动态展示形式,它利用JavaScript编程语言实现图片或内容的滑动切换效果,类似于PowerPoint中的幻灯片演示。这种广告形式可以吸引用户的注意力,提高用户体验,同时展示多张图片...

    JS实现幻灯片效果

    以上就是使用纯JS实现幻灯片效果的基本步骤。当然,实际应用中可能还需要考虑更多的细节,比如过渡动画、触摸滑动支持、自动播放暂停等。如果想进一步优化,可以研究一下现有的开源库,例如Slick、Swiper等,它们...

    js网站幻灯片

    ### JS网站幻灯片知识点详解 #### 一、概述 在网页设计中,幻灯片是一种常见的视觉元素,用于展示图片、广告或者重要的信息。利用JavaScript(简称JS)可以实现动态切换图片的功能,使得网站更加生动有趣。本文将...

    js动态个性幻灯片特效.zip

    7. **库和框架**:虽然我们可以从零开始编写幻灯片特效,但市面上有许多成熟的JavaScript库和框架,如jQuery的`slideToggle`,Bootstrap的`carousel`组件,以及专门的幻灯片插件Swiper.js等,它们提供了现成的解决...

Global site tag (gtag.js) - Google Analytics