js的面向对象(实现鼠标移入移出右下角出现备注)
2014-12-27 17:50
615 查看
刚刚接触js的面向对象思想,小试身手的写了个dome,实现鼠标移入移出,鼠标右下角出现备注的功能!
我引入的是jquery-1.9.1.min.js文件
第一步:创建html页面 选项卡.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>选项卡</title>
<link href="Tabcss/maincss.css" rel="stylesheet" type="text/css" /&g
4000
t;
<script src="Tabmouse/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="Tabmouse/mouse.js" type="text/javascript"></script>
<script src="Tabconfig/configure.js" type="text/javascript"></script>
</head>
<body onload="initdiv()">
<div id="main" class="mainclass">
</div>
</body>
</html>
第二步:js构建页面 configure.js文件
var jsonArray = [
{name:"点击1",divid:"div1",messagename:"消息1",messageid:"message1"},
{name:"点击2",divid:"div2",messagename:"消息2",messageid:"message2"},
{name:"点击3",divid:"div3",messagename:"消息3",messageid:"message3"},
{name:"点击4",divid:"div4",messagename:"消息4",messageid:"message4"}
]
function initdiv(){
for(var i=0;i<jsonArray.length;i++){
var json = jsonArray[i];
var html = '<div id="'+json.divid+'" name="selectdiv" class="divclass">'+json.name+'</div>';
html += '<div id="'+json.messageid+'" name="messagediv" class="meaageclass">'+json.messagename+'</div>';
$("#main").append(html);
}
new Tabswitch('main');
}这是通过json数据构建的html页面
第三步:css实现布局 maincss.css文件
.divclass{width: 50px; height: 20px;border: 1px solid; float: left;}
.selectdivclass{width: 50px; background:#CCC; height: 20px;border: 1px solid; float: left;}
.mainclass{width: 100%;height: 50px;}
.meaageclass{background:#FFEC8B;display: none;width: 50px;height: 20px; border: 1px solid;position:absolute;}
第四步:js实现效果(核心部分)mouse.js文件
<span style="white-space:pre"> </span>Tabswitch = function(divobj){
var _this = this;
var div=document.getElementById(divobj);
this.divArray = div.getElementsByTagName('div');
for(var i=0;i<this.divArray.length;i++){
for(var j=0;j<jsonArray.length;j++){
if(this.divArray[i].id==jsonArray[j].divid){
this.divArray[i].index=i;
this.divArray[i].onmouseover = function(){
_this.divonmouseover(this);
}
this.divArray[i].onmouseout = function(){
_this.divonmouseout(this);
}
//this.divArray[i].onclick = function(){
//alert(this.id);
//}
}
}
}
}
Tabswitch.prototype.divonmouseover = function(odiv){
for(var i=0;i<this.divArray.length;i++){
for(var j=0;j<jsonArray.length;j++){
if(this.divArray[i].id==jsonArray[j].divid){
odiv.style = 'background:#CCC;';
}
this.divArray[odiv.index+1].style.display='block';
this.divArray[odiv.index+1].style.left=(odiv.offsetLeft+odiv.clientWidth /2)+'px';
this.divArray[odiv.index+1].style.top=(odiv.offsetTop +odiv.clientHeight+ 20)+"px";
}
}
}
Tabswitch.prototype.divonmouseout = function(odiv){
for(var i=0;i<this.divArray.length;i++){
for(var j=0;j<jsonArray.length;j++){
if(this.divArray[i].id==jsonArray[j].divid){
odiv.style = '';
}
this.divArray[odiv.index+1].style.display='none';
}
}
}
第五步:效果如图
只是一个简单的js面向对象思想写的小dome,希望对大家有帮助!(个人认为写的很详细了)。
我引入的是jquery-1.9.1.min.js文件
第一步:创建html页面 选项卡.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>选项卡</title>
<link href="Tabcss/maincss.css" rel="stylesheet" type="text/css" /&g
4000
t;
<script src="Tabmouse/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="Tabmouse/mouse.js" type="text/javascript"></script>
<script src="Tabconfig/configure.js" type="text/javascript"></script>
</head>
<body onload="initdiv()">
<div id="main" class="mainclass">
</div>
</body>
</html>
第二步:js构建页面 configure.js文件
var jsonArray = [
{name:"点击1",divid:"div1",messagename:"消息1",messageid:"message1"},
{name:"点击2",divid:"div2",messagename:"消息2",messageid:"message2"},
{name:"点击3",divid:"div3",messagename:"消息3",messageid:"message3"},
{name:"点击4",divid:"div4",messagename:"消息4",messageid:"message4"}
]
function initdiv(){
for(var i=0;i<jsonArray.length;i++){
var json = jsonArray[i];
var html = '<div id="'+json.divid+'" name="selectdiv" class="divclass">'+json.name+'</div>';
html += '<div id="'+json.messageid+'" name="messagediv" class="meaageclass">'+json.messagename+'</div>';
$("#main").append(html);
}
new Tabswitch('main');
}这是通过json数据构建的html页面
第三步:css实现布局 maincss.css文件
.divclass{width: 50px; height: 20px;border: 1px solid; float: left;}
.selectdivclass{width: 50px; background:#CCC; height: 20px;border: 1px solid; float: left;}
.mainclass{width: 100%;height: 50px;}
.meaageclass{background:#FFEC8B;display: none;width: 50px;height: 20px; border: 1px solid;position:absolute;}
第四步:js实现效果(核心部分)mouse.js文件
<span style="white-space:pre"> </span>Tabswitch = function(divobj){
var _this = this;
var div=document.getElementById(divobj);
this.divArray = div.getElementsByTagName('div');
for(var i=0;i<this.divArray.length;i++){
for(var j=0;j<jsonArray.length;j++){
if(this.divArray[i].id==jsonArray[j].divid){
this.divArray[i].index=i;
this.divArray[i].onmouseover = function(){
_this.divonmouseover(this);
}
this.divArray[i].onmouseout = function(){
_this.divonmouseout(this);
}
//this.divArray[i].onclick = function(){
//alert(this.id);
//}
}
}
}
}
Tabswitch.prototype.divonmouseover = function(odiv){
for(var i=0;i<this.divArray.length;i++){
for(var j=0;j<jsonArray.length;j++){
if(this.divArray[i].id==jsonArray[j].divid){
odiv.style = 'background:#CCC;';
}
this.divArray[odiv.index+1].style.display='block';
this.divArray[odiv.index+1].style.left=(odiv.offsetLeft+odiv.clientWidth /2)+'px';
this.divArray[odiv.index+1].style.top=(odiv.offsetTop +odiv.clientHeight+ 20)+"px";
}
}
}
Tabswitch.prototype.divonmouseout = function(odiv){
for(var i=0;i<this.divArray.length;i++){
for(var j=0;j<jsonArray.length;j++){
if(this.divArray[i].id==jsonArray[j].divid){
odiv.style = '';
}
this.divArray[odiv.index+1].style.display='none';
}
}
}
第五步:效果如图
只是一个简单的js面向对象思想写的小dome,希望对大家有帮助!(个人认为写的很详细了)。
相关文章推荐
- js实现鼠标的移入移出控制图片的明暗显示
- 利用css3和js原生实现鼠标移入移出模块透明度的变化
- 初学JS值之用JS实现鼠标移入移出事件
- js实现鼠标移入移出小特效!
- 利用Jquey.hover来实现 鼠标移入出现删除按钮,鼠标移出删除消失
- JS实现鼠标移入移出控制图片的切换效果
- mm_menu.js(实现鼠标移入横向显示二级菜单效果)(1)
- mm_menu.js(实现鼠标移入横向显示二级菜单效果)
- JS动画——制作鼠标移入移出的时候控件属性的变化
- mm_menu.js(实现鼠标移入横向显示二级菜单效果)(2)
- Ferris教程学习笔记:js示例2.11 图片列表:鼠标移入/移出改变图片透明度
- EasyUI实现Layout收缩框鼠标移入展开移出收缩
- 网页基础第4课之“简单的JS与CSS结合--鼠标移入移出事件”
- css实现鼠标移入table时出现滚动条且table内容不移位
- js鼠标移入移出事件样例
- 解决VMware vSphere Client与本机的鼠标无缝移出移入、剪贴板共享、共享文件夹等问题,实现虚拟机上虚拟硬件的驱动
- js实现鼠标放上按钮出现提示
- jQuery实例--实现斑马线效果包括鼠标的移入移出变色
- ASP.Net 中实现GridView鼠标的移入与移出事件
- 实现DataGrid的某一行随着鼠标的移入移出而改变颜色