2010-07-16 55 views
2

我有一個簡單的HTML頁面,以及一些JavaScript使用jQuery上的基本$(#元素).fadeOut方法在mouseover事件上。我也使用$(#element).hide()方法。jQuery ::當我使用fadeIn()我的頁面移動它的焦點!

但我的頁面焦點轉移了!意思是:如果我向下滾動一下,並且將元素(切換腳本)移動,那麼腳本執行得很好,但是我的滾動器會立即上升,並且我失去了滾動到的位置。

我該如何解決這個問題?

這裏是我的代碼:

function swapElements(unfadeElement, how, callbackExecute) 
{ 
    if (unfadeElement==swapper.active) 
    return; 

    if (how!="slow" && how!="fast") 
    return; 

    var fadeElement=swapper.active; 

    $("#" + fadeElement).hide(); 
    $("#" + unfadeElement).fadeIn(how,callbackExecute); 
    swapper.active=unfadeElement; 
} 

的淡入功能:

function fadeInElement(element, how, callbackExecute) 
{ 
    //pre: how is "slow" or "fast" 
    if (how!="slow" && how!="fast") 
    return; 
    $("#"+element).fadeIn(how, callbackExecute); 
} 

一個示例腳本調用:

<a href="javascript: void(0)" onmouseover="fadeIn('carpets','slow',void(0))"> Carpets</a> 

編輯:添加一些HTML代碼

<div id="menuDiv"> 
.................... 
         <div id="menu1" class="menuDivLink"> 
         <a href="javascript: void(0)" onmouseover="swapper.fadeIn('carpets','slow',void(0))"> Carpets</a> 
         </div> 
         <div id="menu2" class="menuDivLink"> 
         <a href="javascript: void(0)" onmouseover="swapper.fadeIn('rugs','slow',void(0))">Rugs</a> 
         </div> 
         <div id="menu3" class="menuDivLink"> 
         <a href="#" onmouseover="swapper.fadeIn('windows','slow',void(0))">Link1</a> 
         </div> 
............ 
</div> 

另外,我的一些CSS可能會導致這個問題? 在此先感謝

回答

0

我試着你有...(減去fadeInElement而不是fadeIn)的變化,它適用於我。在IE7和FF3.5 +中,它保持與之前滾動到的相同位置... 我剛剛添加了br標籤來模擬空間,並且該頁面沒有在鼠標懸停上滾動。也許你可以發佈更多的HTML來查看是否有其他問題?

<a href="javascript: void(0)" onmouseover="fadeInElement('carpets','slow',void(0))"> Carpets</a> 
+0

儘管我討厭使用它們,但我強迫自己在幾個嵌套和排列的div上使用簡單的表格。那麼, - 它完美的工作 - 重點,重疊,一切。 含義我應該回到關於這些DIV元素的HTML基礎知識...... – George 2010-07-17 15:10:57

0

嘗試使用.animate()而不是淡入,像

.animate({不透明度:1},300,callbackFunction參數);

相關問題