Js图片广告轮换效果[支持ie7,ie8.firefox,ie6]
标题与描述均提到了“Js图片广告轮换效果[支持ie7,ie8.firefox,ie6]”,这指向了一种使用JavaScript实现的图片轮播技术,特别强调了对旧版浏览器如IE6、IE7、IE8以及Firefox的支持。在现代Web开发中,虽然这些浏览器已不再主流,但在某些特定场景下,考虑到兼容性问题,了解并掌握这种技术依然具有一定的实用价值。 ### 1. JavaScript 图片轮播原理 JavaScript图片轮播是通过动态更换HTML元素中的`<img>`标签的`src`属性来实现的。通常情况下,轮播效果包括自动播放、手动切换(如通过按钮或鼠标悬停)、以及过渡动画等。在这段代码中,主要涉及以下几个关键点: - **图片预加载**:通过创建`Image`对象并设置其`src`属性,可以提前加载图片资源,避免在切换时出现加载延迟。 - **定时器**:使用`setTimeout`函数来定期调用`change_img()`函数,实现图片的自动轮换。 - **DOM操作**:通过`getElementById`获取页面中的元素,并修改其属性来实现图片显示及链接跳转。 - **CSS样式控制**:利用内联样式和动态CSS,控制图片的显示区域大小、溢出处理以及按钮的样式。 ### 2. 兼容性处理 对于IE6、IE7、IE8等老版本浏览器,由于它们对现代Web标准的支持有限,特别是对CSS3和HTML5特性,开发者需要采取一些额外措施确保轮播效果正常运行。例如,代码中通过检测`document.all`属性的存在与否来判断是否为IE浏览器,并采用IE专有的`filters`方法来实现图片的淡入淡出动画效果。此外,代码中还使用了CSS hack(如`*padding`),以解决IE6/7的布局问题。 ### 3. 动态CSS 代码中通过`document.write`动态插入CSS样式,这在现代前端开发中并不推荐,因为它会影响页面渲染性能。但在特定情况下,如需根据运行时条件动态调整样式,这种方式仍有一定的应用场景。这里的CSS主要用于定义轮播图片下方的小按钮样式,包括默认状态、悬停状态和激活状态的颜色、边框和间距等。 ### 4. 功能实现细节 - **图片切换**:`change_img()`函数负责切换图片,它首先清除当前的定时器,更新图片源和链接地址,改变按钮的样式,然后重新设置定时器以继续轮播。 - **手动切换**:`changeimg()`函数允许通过外部触发(如点击事件)立即切换到指定编号的图片。 ### 结论 这段代码提供了一个基本的图片轮播解决方案,尤其是在需要支持老旧浏览器的场景下。然而,随着Web技术的发展,现在有更多现代化的框架和库(如jQuery、React、Vue等)提供了更强大、更易于维护的轮播组件,同时具备更好的性能和兼容性。对于现代Web应用开发,建议优先考虑使用这些先进的工具和方法。不过,了解这段代码的工作原理仍然有助于加深对JavaScript、DOM操作和跨浏览器兼容性问题的理解。
var widths = 976; /*显示高度*/
var heights = 200; /*显示宽度*/
var counts = 3;
img1 = new Image();
img1.src = 'AppImg/ChangImg/1.jpg';
url1 = new Image();
url1.src = '#';
img2 = new Image();
img2.src = 'AppImg/ChangImg/2.jpg';
url2 = new Image();
url2.src = '#';
img3 = new Image();
img3.src = 'AppImg/ChangImg/3.jpg';
url3 = new Image();
url3.src = '#';
/* 建议将这块放置于JS中 下面的部分几乎是不需要任何改动*/
var nn = 1;
var key = 0;
function change_img() {
if (key == 0) {
key = 1;
} else if (document.all) {
document.getElementById('pic').filters[0].Apply();
document.getElementById('pic').filters[0].Play(duration = 2);
}
- 粉丝: 2
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- 1
- 2
- 3
前往页