2010-03-17 7 views
0

난 다음 함수를 호출하여 사업부를 유혹 할 때 팝업 창을 얻으려고 함께 잘 작동되지는 onMouseover와는 호버

function PopUp(h) { 
    $('#task_' + h).hover(function (evt) { 
     var html1 = '<div id="box">'; 
     html1 += '<h4>Taskbar ' + h + ' ännu en test - fredagstest </h4>'; 
     //html += '<img src="Pictures/DesertMini.jpg" alt="image"/>'; 
     html1 += '<p>"Test för task nr: ' + h + ' <br/>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium asperiores repellat."</p>'; 
     html1 += '</div>'; 
     $('#test').append(html1).children('#box').hide().fadeIn(100) 
     $('#box') 
      .css('top', evt.pageY) 
      .css('left', evt.pageX + 20) 
      .css('z-index', 1000000); 
     }, function() { 
      // mouse out 
      $('#box').remove(); 
     }); 
     $('#task_' + h).mousemove(function (evt) { 
      $('#box') 
       .css('top', evt.pageY) 
       .css('left', evt.pageX + 20) 
       .css('z-index', 1000000); 
     }); 
    } 
} 

h

내가 기능

<div (some attributes) onMouseOver="PopUp('+someNumber+');"> 
에 보내고있다 몇 가지 숫자입니다 onMouseover와

하지만 onMouseOver은 호버로 잘 작동하지 않습니다. 어떻게해야합니까?

덕분에 사전에 조 ... 리나

답변

0

덕분에 나는 훨씬 더 유연하고 더 실용적인 JQuery와 cluetip를 사용하여 문제를 해결했다. 내가 어떤를 가져 때마다 내가 그 사업부의 동적 ID를 보낼으로, 즉 내가 다른 팝업 창을 좋아

<div id="task_" + dynamicNumber> <div onMouseOver="PopUp(" + dynamicNumber + ");">&nbsp;</div> </div> 

function PopUp(h) { 
      $('#task_' + h).attr('title', '|id= ' + h + ' hello!'); 
      $('#task_' + h).cluetip({ 
       splitTitle: '|', 
       showTitle: false, 
       positionBy: 'mouse', 
       cursor: 'pointer', 
       cluezIndex: 500000 
      }); 
     } //end PopUp() 
0

왜 사업부의 호버 효과 팝업 기능을 부착하지? div에 "popups"라는 ID가 있다고 가정합니다.

$('#popups').hover(function(){ 
    // your task hover 
}); 
+0

가 apear하기 : + 내가 바깥 하나의 또 다른 내부 사업부를 추가, 그래서 코드는 이제 다음과 같습니다 많은 div의 – Lina

0

여기를 참조 example-- 단순한는 다르게

<div id="box">Hover Over Me</div>

$('#box').hover(
    function(evt){ 
    // code 
    } 
); 
+0

다른 ID (예 : 1 ~ 10)가있는 많은 div가있는 경우, 그 중 하나에 마우스를 올리면 고유 한 팝업 창이 나타납니다. – Lina

+0

고유 한 경우 다른 호버 기능을 적용하지 않는 것이 좋습니다. 마다? – Jeremy

1

하고있는 당신은 자바 스크립트 오류가 무엇인지 당신이주의 경우입니까?

당신은뿐만 아니라 다음 줄에 세미콜론을 누락하는 것 :

jQuery.fn.ToolTip = 
function() 
{ 
    return this.each(function() 
    { 
     $(this).mouseover(function(e) 
     { 
      // Grab the title attribute value and assign it to a variable 
      var tip = $(this).attr('title'); 
      // Remove the title attribute to avoid the native tooltip from displaying 
      $(this).attr('title', ''); 
      // Append the tooltip div 
      $('body').append('<div id="tooltip_container">' + tip + '</div>'); 
      // Set the X and Y of the tooltip 
      $('#tooltip_container').css('top', e.pageY + 10); 
      $('#tooltip_container').css('left', e.pageX + 10); 
     }).mousemove(function(e) 
     { 
      // Make the tooltip move along with the mouse 
      $('#tooltip_container').css('top', e.pageY + 10); 
      $('#tooltip_container').css('left', e.pageX + 10); 
     }).mouseout(function() 
     { 
      // Put back the title attribute value 
      $(this).attr('title', $('#tooltip_container').html()); 
      // Remove the appended tooltip template 
      $('body').children('div#tooltip_container').remove(); 
     }); 
    }) 
}; 
: 여기
$('#test').append(html1).children('#box').hide().fadeIn(100) 

내가 사용하는 확장을 통해 힌트 (그것은 아주 기본입니다하지만 잘 작동)입니다

그런 다음 useage은 다음과 같습니다 툴팁에 대한

<img ID="someImageWithHover" src="someImage.jpg" title="Tip I want to show!" /> 

$('#someImageWithHover').ToolTip(); 

CSS는 :

,536,
#tooltip_container 
{ 
    position:absolute; 
    z-index:9999; 
    color: #000000; 
    background: #eaf2fa; 
    width:240px; 
    padding: 4px 8px; 
    margin: 0; 
    border: 2px solid #2F4F88; 
} 

호버를 표시하는 컨트롤의 title 속성에 표시하려는 html 툴팁을 저장하면됩니다.

희망이 도움이됩니다.

+0

답변 주셔서 감사합니다 :) 나는 단서 팁을 사용하여 문제를 해결하고 다른 내부 div 추가, 내 질문에 내 대답을 확인하십시오 당신이 관심이 있다면 :) – Lina

0

jQuery.bind() 또는 jQuery.live()을 사용하십시오. 답 :

에 대한