вставка html между двумя элементами с событием перемещения мыши в iframe

#javascript #jquery

#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:

Попробуйте эту функцию .live () из jquery

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

Комментарии:

1. Я ничего не ищу, я просто хочу добавить html между двумя элементами внутри iframe.

2. вы хотите правильно отредактировать содержимое iframe с родительской страницы?

3. Между двумя элементами iframe я хочу добавить фрагмент кода. Я думаю, что название ясно говорит об этом. или нет? обнаружение элемента на мыши и вставка до или после, в соответствии с этим приближением.

4. попробуйте этот код $(‘#myiframe’).contents().hasClass(‘.elem1’).after($(‘<div class=»new»></div>’))