删除Javascript工具提示偏移,以获得更好的悬停增长效果
我正在努力完成一些事情,并将感谢任何和所有提供的帮助 我有一个工具提示代码,在图像悬停时,图像通过JS以偏移位置显示在工具提示中。与在工具提示中偏移悬停图像的位置不同,我希望工具提示中的图像显示时不带偏移。我需要的位置的工具提示,以不被抵消在所有,只是要正好在顶部的形象。我不确定如何实现这一点,因为示例代码使用css,我需要它与JS中的工具提示一起使用 以下是工具提示代码:删除Javascript工具提示偏移,以获得更好的悬停增长效果,javascript,hover,tooltip,position,offset,Javascript,Hover,Tooltip,Position,Offset,我正在努力完成一些事情,并将感谢任何和所有提供的帮助 我有一个工具提示代码,在图像悬停时,图像通过JS以偏移位置显示在工具提示中。与在工具提示中偏移悬停图像的位置不同,我希望工具提示中的图像显示时不带偏移。我需要的位置的工具提示,以不被抵消在所有,只是要正好在顶部的形象。我不确定如何实现这一点,因为示例代码使用css,我需要它与JS中的工具提示一起使用 以下是工具提示代码: too = tooo = bi = an = null; document.onmousemove = document.
too = tooo = bi = an = null; document.onmousemove = document.onmouseover = toolt;
function toolt(a) {
if(bi) {
y = bi.offsetTop+bi.height-20;
x = bi.offsetLeft+bi.width-12;
} else {
y = (document.all) ? window.event.y + document.body.scrollTop : a.pageY;
x = (document.all) ? window.event.x + document.body.scrollLeft : a.pageX;
}
a = window.innerHeight ? window.innerHeight : document.body.offsetHeight;
b = window.innerWidth ? window.innerWidth : document.body.offsetWidth;
if (too != null) {
if(too.offsetWidth+x+35-document.body.scrollLeft > b) x=document.body.scrollLeft+b-too.offsetWidth-35; too.style.left = (x+12)+"px";
if(too.offsetHeight+y+40-document.body.scrollTop > a) y=y-too.offsetHeight-30; too.style.top = (y+20)+"px"; }
}
function htoo(i) { if(too) too.style.display = "none"; if(bi) bi.style.display = an ? "block" : "none"; tooo = false;}
function stoo(i) { if(tooo) tooo.style.display = "none"; if(bi) bi.style.display = an ? "block" : "none"; too = tooo = document.getElementById(i); too.style.display = "block"; if(bi = document.getElementById(i+"b")) bi.style.display="block";
}
我如何用给定的代码实现这一点,有什么想法吗?您当然可以调整它使其更好,但这里有一个概念证明
注意:图像的样式应为
position:relative
用法()
构造函数
function FancyZoom(container, options) {
container = container || document;
if (typeof container == "string") {
container = document.getElementById(container);
}
function isNodeName(el, name) {
return el.nodeName.toLowerCase() === name;
}
function getTarget(e) {
e = e || window.event;
return e.target || e.srcElement;
}
// image {mouseover} event handler (delegated)
container.onmouseover = function(e) {
var el = getTarget(e);
if (isNodeName(el, "img")) {
zoomIn(el);
// image {mouseout} event handler
el.onmouseout = function(e) {
zoomOut(el);
el.onmouseout = null;
};
}
};
}
动画()
测试日期:IE7+、FF2+、Safari 4+、Chrome、Opera您是否查看了链接页面中的JS代码?是的,我查看了,但我只需要删除提供的工具提示代码中的偏移量。工具提示中的JS对我来说太复杂了。我只想编辑上面提供的代码,以显示工具提示在图像上的位置,而不是偏移它。这有意义吗?你也可以用如下简单的公式计算利润率:
mleft=-(大-小)/2
哇,galambalazs,太快了。但这并不使用工具提示代码。工具提示代码变量名是可靠的,因为很多事情都严重依赖它,x、y变量也是如此。我只是不知道如何编辑提供的工具提示代码来完全删除偏移,这样工具提示的位置就不会偏移,而是跟随鼠标,它将位于大悬停效果的相同位置。从技术上讲,它会删除偏移量,因此工具提示不会以预定义的像素量跟随鼠标,相反,工具提示将显示在与悬停图像相同的位置。您不能期望任何人理解变量的含义,例如a
,bi
,太,太,太,太过太过,toolt
…我还告诉了您删除整页偏移所需的内容。使图像位置:相对
,然后在鼠标上方
调整其尺寸和边距。利润率的计算公式在我的第一个评论中。不要偷懒。我已经为你做了艰苦的工作问题是,不仅仅是图像,在图像悬停时,工具提示会显示图像和它下面的一些html文本,类似于新的谷歌图像。我正在使用walter zorn的wz_tooltip.js,可以在这里找到:但是上面的.js覆盖了这些值。我联系了作者,并将在一周内回来,也许在一周内发布整个项目的样本。感谢Galambalaz到目前为止所做的一切!
function FancyZoom(container, options) {
container = container || document;
if (typeof container == "string") {
container = document.getElementById(container);
}
function isNodeName(el, name) {
return el.nodeName.toLowerCase() === name;
}
function getTarget(e) {
e = e || window.event;
return e.target || e.srcElement;
}
// image {mouseover} event handler (delegated)
container.onmouseover = function(e) {
var el = getTarget(e);
if (isNodeName(el, "img")) {
zoomIn(el);
// image {mouseout} event handler
el.onmouseout = function(e) {
zoomOut(el);
el.onmouseout = null;
};
}
};
}
function zoomIn(thumb) {
thumb.style.zIndex = 10;
emile( thumb,
"width:" + 174 + "px;" +
"height:" + 174 + "px;" +
"margin-left:" + -37 + "px;" +
"margin-top:" + -37 + "px;",
{ duration: 200 }
);
}
function zoomOut(thumb) {
thumb.style.zIndex = 1;
emile( thumb,
"width:" + 100 + "px;" +
"height:" + 100 + "px;" +
"margin-left:" + 0 + "px;" +
"margin-top:" + 0 + "px;",
{ duration: 100 }
);
}