想实现为每一条遍历出来的数据,绑定鼠标触发事件。实现鼠标移动后,弹出div层显示详细资料,鼠标移开后 div 层自动隐藏。但不知为何,我的代码只有第一条数据能弹出正确的层。移动到第二条数据及后面的数据,也是弹出第一条数据的层。请指教,谢谢!! window.onload = function () {
var allDiv = document.getElementsByTagName("div");
for (var i = 0; i < allDiv.length; i++) {
if (allDiv[i].thisDiv == "thisDiv") {
allDiv[i].onmouseover = showDiv;
allDiv[i].onmouseout = hideD;
}
}
} function showDiv() {
document.getElementById("hideDiv").style.display = "block";
}
function hideD() {
document.getElementById("hideDiv").style.display = "none";
}
@foreach (var item in Model) {
<div id="source" thisDiv="thisDiv">@Html.DisplayFor(modelItem => item.UserName)</div> //这是隐藏层
<div id="hideDiv" style="display:none; background-color:#f5f5f5;">@item.UserName 用户详细信息...</div>
}
var allDiv = document.getElementsByTagName("div");
for (var i = 0; i < allDiv.length; i++) {
if (allDiv[i].thisDiv == "thisDiv") {
allDiv[i].onmouseover = showDiv;
allDiv[i].onmouseout = hideD;
}
}
} function showDiv() {
document.getElementById("hideDiv").style.display = "block";
}
function hideD() {
document.getElementById("hideDiv").style.display = "none";
}
@foreach (var item in Model) {
<div id="source" thisDiv="thisDiv">@Html.DisplayFor(modelItem => item.UserName)</div> //这是隐藏层
<div id="hideDiv" style="display:none; background-color:#f5f5f5;">@item.UserName 用户详细信息...</div>
}
解决方案 »
- 如何抓JS构建的巴贝拉网站?请高手指点,不胜感激
- 文本框的空格哪来的
- 如何用JavaScript开发个UBB
- 求教js如何实现点击后动画,这次有没有真正的动画效果的代码?例如http://www.love775.cn/中人物的行动的
- ~在线等,关于在线编辑器的一些问题,谢谢大家!
- JS怎么实现在执行一个命令后只自动刷新一次当前页面
- 没有项目经验如何开始做一个基于web的系统?
- 刚写的正则表达式出现怪问题?急!!!!!
- 菜鸟问:如何实现文字上滚的特效
- 请问如何将客户端中activex控件的值传到服务器端
- 请教一个将<Object>嵌入OpenWindow.document.write()问题
- 为何没弹出1呢?
document.getElementById("hideDiv")只会获得第一个
var allDiv = document.getElementsByTagName("div");
for (var i = 0; i < allDiv.length; i++) {
if (allDiv[i].thisDiv == "thisDiv") {
allDiv[i].onmouseover = function(){
allDiv[i].style.display="block" ;
};
allDiv[i].onmouseout = function(){
allDiv[i].style.display="none" ;
};
}
}
}
var evt=window.event,obj=evt.srcElement,next=obj.nextSibling;
next.style.display = "block";
}function hideD() {
var evt=window.event,obj=evt.srcElement,next=obj.nextSibling;
next.style.display = "none";
}自己调兼容性吧
鼠标移动带div上,显示对应的div.同时隐藏上次显示的那个div!2、所有div 用同一个 msgDiv 显示信息鼠标移动带div上,设置msgDiv 的内容和坐标,并显示
window.onload = function () {
var allDiv = document.getElementsByTagName("div");
for (var i = 0; i < allDiv.length; i++) {
if (allDiv[i].thisDiv == "thisDiv") {
allDiv[i].setAttribute("onmouseover","showDiv(this)");
allDiv[i].setAttribute("onmouseout","hideD(this)");
}
}
} function showDiv(obj) {
obj.style.display = "block";
}
function hideD(obj) {
obj.style.display = "none";
}
<div id="hideDiv" style="display:none; background-color:#f5f5f5;">@item.UserName 用户详细信息...</div>
}
window.onload = function () {
var allDiv = document.getElementsByTagName("div");
for (var i = 0; i < allDiv.length; i++) {
if (this.thisDiv == "thisDiv") {
this.onmouseover = function(){
//获取前一个节点
var popdiv=this.nextSibling;
popdiv.style.display='';
}
allDiv[i].onmouseout = function(){
var popdiv=this.nextSibling;
popdiv.style.display='none';
}
}
}
} function showDiv() {
document.getElementById("hideDiv").style.display = "block";
}
function hideD() {
document.getElementById("hideDiv").style.display = "none";
}
var allDiv = document.getElementsByTagName("div");
for (var i = 0; i < allDiv.length; i++) {
if (allDiv[i].thisDiv == "thisDiv") {
this.onmouseover = function(){
//获取前一个节点
var popdiv=this.nextSibling;
popdiv.style.display='';
popdiv.style.left=scontol.getAbsoluteLeft(this)+'px';
popdiv.style.top=parseInt(scontol.getAbsoluteTop(this)+scontol.getAbsoluteHeight(this))+'px';
}
allDiv[i].onmouseout = function(){
var popdiv=this.nextSibling;
popdiv.style.display='none';
}
}
}
}//获取控件的位置
var scontol = {
getAbsoluteLeft: function (ob) {
var mendingLeft = ob.offsetLeft;
while (ob != null && ob.offsetParent != null && ob.offsetParent.tagName != "BODY") {
mendingLeft += ob.offsetParent.offsetLeft;
ob = ob.offsetParent;
}
return mendingLeft;
},
getAbsoluteTop: function (ob) {
var mendingTop = ob.offsetTop;
while (ob != null && ob.offsetParent != null && ob.offsetParent.tagName != "BODY") {
mendingTop += ob.offsetParent.offsetTop;
ob = ob.offsetParent;
}
return mendingTop;
},
getAbsoluteHeight: function (ob) {
return ob.offsetHeight
},
getAbsoluteWidth: function (ob) {
return ob.offsetWidth
}
}