2011-02-04 23 views
3

我有一堆照片,我正在尋找使用jQuery在同一位置展示它們的最佳方式。我的jQuery「展示」 - 不透明問題:)

您如何看待我的概念?它是否有效,或者除了將所有圖像放在一起並玩弄不透明外,還有其他方法嗎?

反正我不知道爲什麼這樣的代碼:

的jQuery( '#演示IMG 。' + itemClass時).animate({不透明度:1});

不顯示一個東西。任何幫助的手?

http://jsfiddle.net/d4sEW/1/

+0

我認爲jQuery是不是一個對象(它不應該是`$('#演示IMG .'...)`?) – JCOC611 2011-02-04 01:42:59

+0

@ JCOC611:它是。 – yoda 2011-02-04 01:47:30

回答

3

I'm相當確信類名稱不容以數字開頭,但即便如此,如果你的形象有一定的階級,你必須使用img.'+itemClass代替img .'+itemClass;你在img選擇器和類之間放置一個空格。

除此之外,您將不得不移除/淡出您不想顯示的圖像,否則一張圖像可能會顯示在您不想顯示的圖像後面。

2

確定這是我做的,它的工作:顯示所期望的一個(如果您選擇的前jQuery('#demo img .'+itemClass)jQuery('#demo img.'+itemClass)

  • 我也建議你隱藏圖片:

    • 這裏刪除空間圖像,可以說#3,然後再次選擇第一個圖像,因爲第三個圖像不會顯示)
  • 1

    正確的幾個問題。

    更新時間:http://jsfiddle.net/d4sEW/7/

    • .attr('class') - 這是錯誤的,沒有屬性類,它是.attr('className')
    • 你需要其他的混濁切換到0,否則無論是在堆棧的頂部將顯示
    • 如果你想讓它看起來不錯,你需要仔細選擇淡入淡出哪些圖片,或者在淡入淡出之前淡出圖片,如演示
    • 也需要關閉該img和類之間的空間,否則它看起來一類爲圖像的後代,而不是它的一部分:$('img.class')
    1

    你有IMG與itemClass時之間錯字(無空格)。 它應該是這樣的:

    jQuery('#navi a').click(function(){ 
        var itemClass = jQuery(this).attr('class'); 
        $('#demo img').animate({opacity:0}); 
        jQuery('#demo img.'+itemClass).animate({opacity: 1}); 
        //alert(itemClass); 
    });