2013-12-10 15 views
0

此代碼是對我工作的項目成功合作。這個問題是這個代碼影響的元素絕對定位。當.field-name-field-pin-point點擊元素時,.group經銷商將被隱藏,但.field-name-field-pin-point移出頁面。理想情況下,我希望頁面加載時將可見性設置爲無,但在CSS中執行該部分可能更容易。以下是我目前正在使用:更改切換();從顯示:無以visibility:hidden的

jQuery(document).ready(function() { 
     jQuery('.node-202 .field-name-field-pin-point').click(function() { 
     jQuery(this).siblings('.group-dealer').toggle(); 
    }); 

}); 

將有將有不同的定位,以便我公司提供完整的類名是必要的多個節點。該標記(一般來說)如下:

一張地圖,點擊後,彈出一個小窗口,該地點的詳細信息,
<div class="node-202"> 
    <div class="group-dealer">...</div> 
    <div class="field-name-field-pin-point">...</div> 
</div> 

我基本上創建點。

這裏是我的最後一個職位的參考,如果你正在尋找更多的信息:Toggle Class Visibility by Clicking on another Class

+0

「無」 不是visibility屬性的有效值。你想要「隱藏」。這就是說,我不清楚你的問題。爲什麼你不能只改變'.group-dealer'的樣式? – isherwood

+1

你想'知名度:hidden'您也可以讓其他功能(說'toggleVisibility(OBJ)'),其中'obj'是一個jQuery對象,然後函數體可能會像'obj.css({「知名度」 : 「隱藏」})'(與邏輯一起適用時切換到'visible')然後調用'toggleVisibility(OBJ)'代替'' – Esaevian

回答

4

我建議你最好的辦法是添加CSS規則,只需撥動一類的元素

CSS

.group-dealer.hidden{ visibility:hidden} 

JS

jQuery('.node-202 .field-name-field-pin-point').click(function() { 
     jQuery(this).siblings('.group-dealer').addClass('hidden');/* use toggleClass if more appropriate*/ 
}) 
+0

雅,添加/刪除一個類,並讓CSS處理設計部分+1 –

+0

這工作!我也添加了CSS。謝謝。我將它改爲toggleClass進行測試,並且在頁面加載時,它完成了我想要的功能(彈出窗口立即顯示),但該功能起作用。我可能只需要玩CSS或更改是添加類。 –

+1

通常最簡單的先看看使用css類...更容易撤消,特別是如果更改多個顯示屬性 – charlietfl

0

只需撥動能見度然後

jQuery(document).ready(function() { 
    jQuery('.node-202 .field-name-field-pin-point').click(function() { 
     jQuery(this).siblings('.group-dealer').css('visibility', function(_,vis) { 
      return vis == 'hidden' ? 'visible' : 'hidden'; 
     }); 
    }); 
}); 
+0

我剛更換此線obj.toggle(): jQuery的(本) .siblings( '基團的經銷商。')切換(); }); 與你說的,但它沒有奏效。 –

+0

這可能是因爲該行還包含關閉點擊處理程序。 – adeneo

0

嘗試:

$('.node-202 .field-name-field-pin-point').click(function() { 
    if ($(this).siblings().css('visibility') == 'visible') { 
     $(this).siblings().css('visibility', 'hidden'); 
    } else { 
     $(this).siblings().css('visibility', 'visible'); 
    } 
}); 

DEMO here.

+0

我剛剛給了這一槍,但不幸的是它沒有奏效。 –

+0

幾個問題'如果任何元素傳遞條件is'將爲真,和':visible'選擇將爲真也當'使用visibility'所有的時間。請參閱[:可見選擇器文檔](http://api.jquery.com/visible-selector/) – charlietfl

+0

@ e.shell我已編輯答案。 – Hiral