Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除Javascript工具提示偏移,以获得更好的悬停增长效果_Javascript_Hover_Tooltip_Position_Offset - Fatal编程技术网

删除Javascript工具提示偏移,以获得更好的悬停增长效果

删除Javascript工具提示偏移,以获得更好的悬停增长效果,javascript,hover,tooltip,position,offset,Javascript,Hover,Tooltip,Position,Offset,我正在努力完成一些事情,并将感谢任何和所有提供的帮助 我有一个工具提示代码,在图像悬停时,图像通过JS以偏移位置显示在工具提示中。与在工具提示中偏移悬停图像的位置不同,我希望工具提示中的图像显示时不带偏移。我需要的位置的工具提示,以不被抵消在所有,只是要正好在顶部的形象。我不确定如何实现这一点,因为示例代码使用css,我需要它与JS中的工具提示一起使用 以下是工具提示代码: too = tooo = bi = an = null; document.onmousemove = document.

我正在努力完成一些事情,并将感谢任何和所有提供的帮助

我有一个工具提示代码,在图像悬停时,图像通过JS以偏移位置显示在工具提示中。与在工具提示中偏移悬停图像的位置不同,我希望工具提示中的图像显示时不带偏移。我需要的位置的工具提示,以不被抵消在所有,只是要正好在顶部的形象。我不确定如何实现这一点,因为示例代码使用css,我需要它与JS中的工具提示一起使用

以下是工具提示代码:

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 }
    );

}