2012-08-09 99 views
0

我正在使用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> 
+0

你在標記有很多問題(多餘空間,缺少的屬性名稱不正確的大寫)是這樣的複製/粘貼你的實際代碼? – MrOBrian 2012-08-09 20:53:04

+0

可以更改'messages.get(curcontentindex).style.display = 「塊」;''到messages.eq(curcontentindex).show();'。與你的問題無關。 – epascarello 2012-08-09 20:55:53

回答

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

保存原來的設置,然後用它們在「鼠標未超過」部分

+0

原來的設置是什麼意思?你的意思是onMouseOver部分中的標記嗎? – Molly 2012-08-20 19:51:13

+0

通過原來的設置我的意思是對象的設置,他們已被更改,由於鼠標懸停之前。如果您仍然有任何問題,只是問:) – Itamar 2012-08-21 11:04:30

+0

你的意思是JavaScript的設置?基本上我需要知道我應該在「onmouseout」部分放置什麼代碼。謝謝你的耐心。 – Molly 2012-08-21 20:46:38