纯js实现背景图片切换效果代码


Posted in Javascript onNovember 14, 2010

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> 
<title>背景切换</title> 
<link href="css/bgchage.css" type="text/css" rel="Stylesheet" /> 
</head> 
<body> 
<div><ul><li></li><li></li><li></li><li></li></ul></div> 
<!-- <div>1</div><div>2</div><div>3</div><div>4</div>--> 
</body> 
<script src="js/bgchage.js" type="text/javascript" ></script> 
</html>

因为javascript逻辑顺序比较强,所以要考虑引用js的位置
css代码
body {font-size:12px;} 
div{ width:950px; height:800px; margin:0 auto; border:solid 1px #d0d0d0;} 
li{ list-style-type:none;border:solid 1px #d0d0d0; float:left; margin: 1px; padding:0 5px; height:12px; width:10px;} 
/*div{ width:6px; height:14px; margin:1px; padding:0 5px; float:left; border:solid 1px #d0d0d0;}*/

javascript代码部分:
window.onload=init; 
var element= document.getElementsByTagName("li"); 
function init() //初始化背景色 
{ 
var element= document.getElementsByTagName("li"); 
for(var i=0; i<4;i++) 
{ 
var k=i+1; 
element[i].style.background="url(images/"+k.toString()+".jpg)"; 
} 
} 
function addclick() 
{ 
for(var i=0; i<4;i++) 
{ 
var k=i+1; 
if(window.attachEvent) 
element[i].attachEvent("onclick", new Function("bgchage("+k+");")); //创建事件不能直接.onclick而需要使用.attachEvent("事件",new Function("被调函数("+参数+");"));IE6通过 
else 
element[i].addEventListener("click", new Function("bgchage("+k+");"),false); 
} 
} 
function bgchage(t) //根据色块改变背景色 
{ 
document.getElementsByTagName("body")[0].style.background="url(images/"+t+".jpg)"; 
} 
addclick();

js部分要注意写事件的兼容,而且其实jq的思路就是将很多功能写成插件的形式供自己使用,用javascript写,可以写自己的类库,供反复使用,也无需承担jquery类库的负担。其实我也不是说jquery不好,从大的方面来说,jquery的插件大小影响并不大,前端事件看了百度前端交流会的视频,发现人家的类库也都是js自己写的,这给了我继续学习js的动力。
Javascript 相关文章推荐
Javascript new Date().valueOf()的作用与时间戳由来详解
Apr 24 Javascript
浅谈js中的in-for循环
Jun 28 Javascript
Bootstrap下拉菜单效果实例代码分享
Jun 30 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
Jul 01 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
Aug 18 Javascript
Seajs是什么及sea.js 由来,特点以及优势
Oct 13 Javascript
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
详解关于微信setData回调函数中的坑
Feb 18 Javascript
详解javascript函数写法大全
Mar 25 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
Apr 29 Javascript
将RGB值转换为灰度值的简单算法
Oct 09 Javascript
vscode中使用npm安装babel的方法
Aug 02 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
Nov 14 #Javascript
cnblogs中在闪存中屏蔽某人的实现代码
Nov 14 #Javascript
基于MooTools的很有创意的滚动条时钟动画
Nov 14 #Javascript
javascript 学习笔记(onchange等)
Nov 14 #Javascript
javascript取消文本选定的实现代码
Nov 14 #Javascript
IE6下通过a标签点击切换图片的问题
Nov 14 #Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
Nov 14 #Javascript
You might like
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
react-native之ART绘图方法详解
2017/08/08 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
python有证书的加密解密实现方法
2014/11/19 Python
Python实现登陆文件验证方法
2018/10/06 Python
python requests使用socks5的例子
2019/07/25 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Python编写打字训练小程序
2019/09/26 Python
Django实现auth模块下的登录注册与注销功能
2019/10/10 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
Python进程池Pool应用实例分析
2019/11/27 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
总会计师岗位职责
2014/02/19 职场文书
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python