我希望每次將鼠標放在該圖標上時都會顯示一個隨機段落元素,並在鼠標離開時再次隱藏。在懸停上顯示一個隨機元素,Jquery
下面是段落的HTML和標識:
<div>
<p class="quote" >ryan is a champion at indesign</p>
<p class="quote">ryan is not a champion at javascript</p>
<p class="quote">ryan likes ramen</p>
</div>
<a href="#"><img id="logo" src="../_blog/_assets/_logo_icons/_logo.png" alt="logo" /></a>
這個腳本是迄今爲止的滿足此我發現的最接近:
$('p.quote').hide();
var quotes = $('p.quote');
var rand = Math.floor(Math.random() * quotes.length);
$('#logo').hover(function(){
quotes.eq(rand).toggle();
});
可惜,這只是顯示了同樣的報價每次除非我刷新頁面。還有其他建議嗎?
感謝 瑞安
如果我將var rand移動到函數中那麼有時會彈出多個報價,並且當我的鼠標離開時不會再次隱藏。 – Ryan
@Ryan對不起,我正在編輯中,現在已經有了完整的答案。 – Ariel
好的,這似乎運作良好。我寫了一些有點不同的內容來隱藏引用,但是你的腳本更好一些。 下面是完整的腳本: $('p.quote')。hide(); \t \t \t \t \t \t \t \t \t 變種報價= $( 'p.quote'); 。 \t \t \t \t \t \t \t \t $( '#標誌')鼠標懸停(函數(){ \t變種蘭特= Math.floor(的Math.random()* quotes.length); quotes.hide( ).EQ(RAND).show(); \t \t \t \t \t \t \t \t \t \t }); $('#logo')。mouseleave(function(){ \t quotes。隱藏(); }); \t \t \t }); – Ryan