`

iframe+js实现页面全屏、淡入淡出切换

阅读更多

index.html

<html>
<head>
<script   type="text/javascript">
//实现全屏
function Fkey(){
     var WsShell = new ActiveXObject('WScript.Shell')
     WsShell.SendKeys('{F11}');
}


//判断浏览器类型
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

//被嵌入的页面路径列表
var page_links=new Array("1.html",
                         "2.html",
			             "3.html");
var page_now=0;//表示当前显示的页面

//淡入淡出效果
var opacity=0;
function addOpacity(){
  opacity+=10;
  document.body.style.filter="alpha(opacity="+opacity+")";
  document.body.style.opacity=opacity/100;
  if(opacity<100)setTimeout(function(){addOpacity();},30);
}


//更改iframe中页面,淡入淡出效果
function decOpacity(url){
   opacity=0;
   addOpacity();
   document.getElementById('ifr').src=url;
}

//键盘上按键按下时调用该函数
function jumpPage(e) {

  var keycode_now;
  if (Sys.ie){
      if (event.keyCode==37) {keycode_now = 37;}
      else if (event.keyCode==39) {keycode_now = 39;}
  }
  else if (Sys.firefox){
      var keycode = e.which;
      if (keycode==37) {keycode_now = 37;}
      else if (keycode==39) {keycode_now = 39;}
  }

  if (keycode_now==37) {
	      if(page_now>0){
              page_now = page_now-1;
		  }else{
              page_now = page_links.length-1;
		  }
  }
  else if (keycode_now==39) {
	      if(page_now<page_links.length-1){
              page_now = page_now+1;
		  }else{
              page_now = 0;
		  }
  }

  decOpacity(page_links[page_now]);
}

//键盘上按键在iframe中按下时调用该函数,
function jumpPage_child(keycode_now) {
  if (keycode_now==37) {
	      if(page_now>0){
              page_now = page_now-1;
		  }else{
              page_now = page_links.length-1;
		  }
  }
  else if (keycode_now==39) {
	      if(page_now<page_links.length-1){
              page_now = page_now+1;
		  }else{
              page_now = 0;
		  }
  }
  decOpacity(page_links[page_now]);
}
//键盘上按键按下时调用函数jumpPage
document.onkeydown=jumpPage;
</script>

</head>
<style type="text/css"> body{filter:alpha(opacity=80);-moz-opacity:0.8;border:0px solid red;}</style>

<body onload="javascript:document.all.ifr.height=document.body.clientHeight;"  
	  topmargin="0" 
	  marginwidth="0" 
	  marginheight="0"
	  scroll="no"
	  style="overflow-y:hidden;">

<div style="background:#EEE;
            font-color:#666666;
			font-size:12px;
			width=100%;
			margin:0;
			padding:0;
			cellspacing:0;
			height:26px;
			line-height:26px;
			text-align:center;
			border:0px solid blue;">
<a href="#" onclick="javascript:decOpacity(page_links[0]);">1.html</a>
<a href="#" onclick="javascript:decOpacity(page_links[1]);">2.html</a>
<a href="#" onclick="javascript:decOpacity(page_links[2]);">3.html</a>
</div>

<iframe id="ifr" 
        name="ifr" 
		src="1.html" 
		style="height:100%;width:100%;border:0px solid blue;margin:0;padding:0;"
		frameborder=no>
</iframe>
<script>
Fkey();
addOpacity();
</script>

</body>
</html>

 1.html

<html>
<head>
<script   type="text/javascript">
function callParent() {
try{
  var keycode_now;
  if (parent.Sys.ie){
      if (event.keyCode==37) {keycode_now = 37;}
      else if (event.keyCode==39) {keycode_now = 39;}
  }
  else if (parent.Sys.firefox){
      var keycode = e.which;
      if (keycode==37) {keycode_now = 37;}
      else if (keycode==39) {keycode_now = 39;}
  }
   parent.jumpPage_child(keycode_now);
}catch(e){alert(e.message);}
}

document.onkeydown=callParent;

</script>

<body style="background-color:#ddd;font-size:30px;text-align:center;">
this is  1.html
</body>
</html>

 2.html

<html>
<head>
<script   type="text/javascript">
function callParent() {
try{
  var keycode_now;
  if (parent.Sys.ie){
      if (event.keyCode==37) {keycode_now = 37;}
      else if (event.keyCode==39) {keycode_now = 39;}
  }
  else if (parent.Sys.firefox){
      var keycode = e.which;
      if (keycode==37) {keycode_now = 37;}
      else if (keycode==39) {keycode_now = 39;}
  }
   parent.jumpPage_child(keycode_now);
}catch(e){alert(e.message);}
}

document.onkeydown=callParent;

</script>

<body style="background-color:#dd2;font-size:30px;text-align:center;">
this is 2.html
</body>
</html>

 3.html

<html>
<head>
<script   type="text/javascript">
function callParent() {
try{
  var keycode_now;
  if (parent.Sys.ie){
      if (event.keyCode==37) {keycode_now = 37;}
      else if (event.keyCode==39) {keycode_now = 39;}
  }
  else if (parent.Sys.firefox){
      var keycode = e.which;
      if (keycode==37) {keycode_now = 37;}
      else if (keycode==39) {keycode_now = 39;}
  }
   parent.jumpPage_child(keycode_now);
}catch(e){alert(e.message);}
}

document.onkeydown=callParent;

</script>

<body style="background-color:#dfe;font-size:30px;text-align:center;">
this is 3.html
</body>
</html>
 
分享到:
评论

相关推荐

    jQuery全屏响应浏览器轮播图代码

    本篇将详细介绍如何利用jQuery实现一个全屏响应式的轮播图,并且重点讨论它在IE8等旧版浏览器中的兼容性处理,以及其自动切换和淡入淡出动画效果。 首先,jQuery是JavaScript的一个库,它简化了DOM操作、事件处理和...

    Lightbox JS图片展示

    - 图片通常具有平滑的淡入淡出动画效果,提高用户体验。 2. **实现Lightbox JS** - 实现Lightbox效果可以使用现成的开源库,如`fancybox`、`prettyPhoto`或`lightbox2`等。这些库提供了丰富的配置选项和自定义...

    基于jQuery Rebox lightbox实现的相册效果源码.zip

    2. **动画过渡**:Rebox支持平滑的淡入淡出、滑动等过渡效果,使图片切换更加流畅自然。 3. **键盘导航**:用户可以通过键盘的左右箭头键来切换前后图片,增强了交互性。 4. **缩放功能**:对于大图片,Rebox可以...

    视频、图片灯箱式播放/幻灯片式播放,很好!很强大!

    这种功能通常结合了定时器和动画效果,比如淡入淡出、滑动切换等,可以极大地提升视觉吸引力。许多前端框架和库,如jQuery和Bootstrap,都提供了实现这种效果的插件。 在标签中提到的"shadowbox"是具体实现这种效果...

    10款 js 浏览图片 效果

    JS(JavaScript)作为一种强大的前端脚本语言,为实现各种动态、交互式的图片浏览效果提供了无限可能。标题提到的"10款 js 浏览图片 效果",无疑是为了帮助开发者提升网页中的图片查看体验。以下是这10款JS图片浏览...

    灯箱效果

    灯箱效果通常通过JavaScript库或CSS3实现,可以实现平滑的过渡动画,比如淡入淡出、缩放等。 在提供的描述中,虽然没有直接的信息,但我们可以推测这篇博文可能是关于如何实现或应用灯箱效果的一个教程或者案例分享...

    jquery弹出框特效

    Fancybox能够优雅地将链接的图片、IFrame、HTML内容等包装在一个具有淡入淡出效果的浮动窗口中,提供全屏、导航箭头、缩略图等高级功能。 3. 使用`fancybox`的基本步骤 - 引入依赖:在HTML文件中,首先需要引入...

    thickbox & jquery

    2. **过渡效果**:Thickbox 提供了平滑的淡入淡出和缩放效果,为打开和关闭弹出窗口增添了视觉吸引力。 3. **自动调整大小**:Thickbox 可以根据内容自动调整窗口大小,确保图片或其他媒体以最佳比例显示。 4. **...

    支持全屏缩放下载功能lightbox插件特效代码

    3. **CSS动画**:实现过渡效果,如淡入淡出,缩放等。 4. **全屏API**:利用浏览器提供的全屏API,使内容能够占据整个屏幕。 5. **图片/视频加载管理**:优化加载速度,避免未完全加载的内容显示。 6. **下载处理**...

    jquery图片浏览插件

    4. **动画效果**:通过jQuery的动画API,实现平滑的过渡效果,如淡入淡出、滑动切换等。 5. **响应式设计**:一些高级的插件会考虑移动设备的屏幕尺寸和触摸操作,提供响应式的布局和手势支持。 三、常见的jQuery...

    thickbox------------ jQuery好插件

    4. **用户体验**:通过淡入淡出效果和全屏背景遮罩,Thickbox提供了优雅的过渡和良好的视觉体验。 5. **可配置性**:插件允许自定义设置,如动画速度、遮罩颜色、按钮样式等,以满足个性化需求。 在实际应用中,...

    js弹出层可拖动兼容各大浏览器(20211002200327).pdf

    创建一个全屏的白色遮罩层,通过设置`opacity`实现半透明效果,以达到淡入淡出的效果。对于IE浏览器,还创建了一个透明的`iframe`来解决CSS滤镜的透明度问题。 6. **拖动功能**: 实现弹出层的拖动功能,通常需要...

    图片放大插件lightBox2.6

    1. **美观的过渡效果**:LightBox2.6提供了平滑的淡入淡出、滑动等动画效果,使得图片的展示更具吸引力。 2. **自适应布局**:无论在桌面还是移动设备上,LightBox2.6都能自动调整大小以适应不同的屏幕尺寸。 3. **...

    jquery所有文档

    2. **ThickBox**: 这是一个轻量级的弹出窗口插件,可以展示图片、iframe、HTML内容,支持淡入淡出效果和全屏模式。 **三、jQuery Tabs** jQuery UI 的`tabs`组件允许将页面内容组织成可切换的标签页,提升用户体验...

    jQuery轻量级响应式弹窗VenoBox

    开发者可以设置不同的动画效果,如淡入淡出、滑动等,使弹窗的打开和关闭更加生动。 6. **使用方法**:要使用VenoBox,首先需要在页面中引入jQuery库和VenoBox插件的JS和CSS文件。然后,通过添加特定的class或者...

    fancybox图片查看器,用于图片展示

    **JS特效**:Fancybox利用JavaScript实现了一系列平滑的过渡效果,例如淡入淡出、滑动、缩放等。这些特效增强了用户体验,使得图片查看更加生动有趣。 **CSS**:Fancybox的样式通过CSS来控制,包括背景颜色、边框...

    ThickBox 3_1

    1. **图片预览**:ThickBox 可以将网页上的链接转化为带有淡入淡出效果的全屏预览窗口,用户可以在此预览图片,同时支持图片的前后导航。 2. **多媒体支持**:除了图片,ThickBox 还能处理其他类型的媒体内容,如...

    各种网页常用技巧(精品

    使用`&lt;meta&gt;`标签还可以实现页面定时跳转的功能: ```html ;URL=http://www.williamlong.info"&gt; ``` 这里的`content`属性中,“5”表示等待5秒后跳转,“URL=http://www.williamlong.info”表示跳转的目标地址。 ...

    10个非常漂亮JavaScript 图片展示

    它支持多种图片效果,如滑动、淡入淡出,并允许添加标题和链接到每个幻灯片。 这些JavaScript图片展示模块各有特色,可以根据项目需求和审美偏好选择合适的一个。它们都提供了良好的文档和示例,方便开发者快速集成...

    fancybox轮播例子

    7. **动画过渡**:Fancybox提供了多种过渡动画效果,如淡入淡出、滑动等,这些动画效果让内容切换更为流畅,增强了用户体验。 8. **导航和控制**:默认情况下,Fancybox会显示导航箭头和索引点,方便用户在轮播中...

Global site tag (gtag.js) - Google Analytics