在iframe中使用鼠标移动事件在两个元素之间插入html

时间:2016-10-23 14:14:59

标签: javascript jquery

我需要这样的光。

我正在尝试使用鼠标悬停事件添加html,我希望当用户将鼠标放在元素上时,会出现一条蓝线,告诉它将插入html的位置,当然我在想当用户将光标放在元素上时,我必须计算元素之间的距离,然后更接近光标,从而在元素之前或之后添加行和html。

我需要的帮助是我失去了一点,而不是我正确地遵循了这些步骤。

我把目前的代码放了。

function distPoint(current,compare){

        return -(current - compare);

    }
    iframe.find("*").not("html,body").mousemove(function(e) {

        var el             = $(this);
        var currentElement = $(e.target);
        var y              = e.originalEvent.clientY;
        var yCurrent       = currentElement.offset().top;
        var nextELement    = currentElement.next();
        var prevElement    = currentElement.prev();
        var yNextELement   = nextELement.offset().top;
        var yPrevELement   = prevElement.offset().top;
        var distPrevY      = distPoint(y,yPrevELement);
        var distNextY      = distPoint(y,yNextELement);

        if(distPrevY > distNextY){
            elementInsert=nextELement;
            boder="border-top";
        }else{
            elementInsert=prevElement;
            boder="border-bottom";
        }

        console.log('yMouse: ' + y);
        console.log('yPrevELement: ' + yPrevELement + 'distPrevY: ' + distPrevY);
        console.log('yNextELement: ' + yNextELement + 'distNextY: ' + distNextY);

    });

更新: 我无法获得上一个和下一个元素,不是因为它给了我Y的价值,他们知道这个方式吗?

1 个答案:

答案 0 :(得分:0)

尝试使用jquery

的.live()函数
var aSrc = /facebook|twitter/; //to match the particular iframe in document

$('iframe').live('mouseover', 
  function () {
      if(aSrc.test($(this).attr('src'))){ //if its same iframe u expecting
             alert('Found it!'); //Your logic here
      }
  }  
);​

从父级

编辑iframe的内容
var element=  $('#myiframe').contents().hasClass('.elem1').after($('<div class="new"></div>'));