2015-07-20 35 views

回答

1

當多個屬性來定義,你應該用一個圖來設置。

.css({ 
    'opacity': '0', 
    'visibility': 'hidden' 
}); 

一個更好的辦法是將有visibility:hidden設置一個類來#first,並切換根據條件類的東西..在這些線路。

$("#one").on({ 
    mouseover: function() { 
     timer = setTimeout(function() { 
      $("#first").removeClass('hidden').css('opacity', '1'); 
     }, 400); 
    }, 
    mouseout: function() { 
     clearTimeout(timer); 
     $("#first").css({ 
      'opacity': '0' 
     }).addClass('hidden'); 

    } 
}); 

Check Fiddle

+0

啊我明白了。當我第一次加載頁面時,圖像被顯示,但在第一次懸停後表現正常。我應該先隱藏課程嗎? ReidWeb表示,如果我在頁面加載時隱藏了圖像,但Jquery會覆蓋原始CSS,但它似乎不起作用。 – user2252219

+0

如果是這種情況,請勿使用內聯樣式。根據類提供所有樣式。那麼你將不會遇到任何問題處理特異性。 –

+0

對不起,我不太關注。我沒有任何內聯樣式。這是一個更新的小提琴。 https://jsfiddle.net/vsdLk90s/1/ – user2252219

1

是也可能不是你的問題,但我相信你需要更換下面幾行:

$("#first").css('opacity', '1'); 

$("#first").css('opacity', '0', 'visibility', 'hidden'); 

需要成爲:

$("#first").css({'opacity': '1'}); 

$("#first").css({'opacity': '0', 'visibility': 'hidden'}); 

你可能還需要在懸停 '切換回' 能見度很低,像這樣:

$("#first").css({'visibility': 'visible', 'opacity', '1'}); 

參考在JQuery的使用」的CSS:https://api.jquery.com/css/

TL; DR:而不是用逗號分隔屬性和期望值,您需要使用一個冒號(:),你需要括在部分的CSS {}

編輯:

如果你想在網頁加載時不被顯示的DIV,然後只在懸停顯示將下面的代碼添加到樣式表中:

#first { 
    visibility:hidden; 
} 
+0

啊我明白了。當我第一次加載頁面時,圖像被顯示,但在第一次懸停後表現正常。我應該先隱藏課程嗎? – user2252219

+0

如果您不希望圖像在加載頁面時顯示,並且僅在懸停時才顯示;你可以將它定義爲隱藏在'默認'css中(只是在一個正常的樣式表中),那麼Jquery將在需要時覆蓋它(在現有代碼中完成) –

+0

添加它似乎沒有工作 – user2252219

相關問題