鼠标输出恢复功能

时间:2012-08-09 20:44:43

标签: javascript jquery function onmouseover onmouseout

我正在使用javascript / jQuery编写一个页面,差不多完成了。当相关按钮悬停时,我应该有旋转内容(函数'rotatecontent')和显示在旋转内容位置的div。 我完成了所有这些,除非我将鼠标悬停在一个按钮上,所有div内容都会消失,并且原始的rotatecontent函数不会恢复。我需要实现一个功能,一旦用户将鼠标悬停在按钮上,就可以恢复它。这是我的JS:

<script type="text/javascript">

var messages;
var curcontentindex = 0;
var prevcontentindex;
var futcontentindex;
var i;



function rotatecontent() {
messages.hide();
curcontentindex = (curcontentindex < messages.length - 1) ? curcontentindex + 1 : 0;
messages.get(curcontentindex).style.display = "block";
}


$(function() {
messages = $('.dyncontent').find('div');
i = setInterval(rotatecontent, 1000);


$('li').hover(
function () {
$(this).addClass("hover");
clearInterval(i); // when mouse is over object
},
function () {
$(this).removeClass("hover");
setInterval(rotatecontent, 1000); //when mouse is no longer over object
}
);

});




</script>

这是我的HTML:

<div class="dyncontent">
<div id="div1">Be A Billiken </div>
<div id="div2" style="display:none">Be A Billiken 2</div>
<div id="div3" style="display:none">Be A Billiken 3</div>
<div id="div4" style="display:none">Be A Billiken 4</div>
<div id="div5" style="display:none">Be A Billiken 5</div>
</div>



<ul id="container" overflow:hidden>

<li><a href="#" onMouseOver="$('div.dyncontent').replaceWith($('#div1').show());" onMouseOut=""><img     src="../Work/Images/BAB.com_web_link_10.jpg"  width="250" height="100" class="Bab-image"></a></li>


<li><a href="#" onMouseOver="$('div.dyncontent').replaceWith($('#div2').show());" onMouseOut=""><img     src="../Work/Images/SLU_on_the_Road.jpg" class="sluotr-image">    </a></li>

<li><a href="#" onMouseOver="$('div.dyncontent').replaceWith($('#div3').show());"     onMouseOut=""><img src="http://slu.edu/Images/graduate/Billiken_Blogs.jpg" class="blogs-    image"></a></li>

<li ><a href="#" onMouseOver="$('div.dyncontent').replaceWith($('#div4').show());"     onMouseOut=""><img src="http://slu.edu/Images/graduate/SLU_Chat.jpg" class="chat-image">    </a></li>

<li><a href="#" onMouseOver="$('div.dyncontent').replaceWith($('#div5').show());"     onMouseOut=""><img src="http://slu.edu/Images/graduate/Viewbook_Button_2011.jpg"     class="view-image"></a>
</li>

</ul>

1 个答案:

答案 0 :(得分:5)

jQuery .hover()函数有一个特殊的结构,允许你设置一旦鼠标悬停在对象上会发生什么,以及鼠标不再指向对象后会发生什么。

$(".class").hover(
  function () {
    $(this).addClass("hover"); // when mouse is over object
  },
  function () {
    $(this).removeClass("hover"); //when mouse is no longer over object
  }
);

保存原始设置,然后在&#39;鼠标停留&#39;中使用它们。节