2011-03-03 151 views
1

我有使用jQuery如使腳本:現在jQuery - show()函數可以返回true嗎?

$(document).ready(function() { 
    $('a[name=pmRead]').click(function(e) { 
     e.preventDefault(); 

     var pmtext=$(this).parents(".pmMain").find(".pmMain5"); 
    });   
}); 

,我想使用像pmtext.show()函數,並獲得真正的,如果該元素是可見的。否則,我想返回FALSE。通過使用show()來獲得TRUE/FALSE的任何更改? (或姐妹功能hide())。

回答

5

有一個功能來檢查可見性,但它不是show()/hide()

if (pmtext.is(':visible')) { 
    // .... 
} 
0

你可以編寫自己的簡單函數來檢查它是否可見。

注:該函數將jQuery元素作爲輸入。

function isVisible($element) { 
    return $element.css("display").toLowerCase() != "none"); 
} 
+0

已經有'.is(「:visible」)'和':visible'選擇器。 – justkt 2011-03-03 15:46:24

+2

爲什麼要發明輪子? '$(element).is(':visible')'就是這樣! – balexandre 2011-03-03 15:46:24

2

我會建議編寫一個自定義函數,如果你需要返回true或false。

function customShow(element) 
{ 
    if($(element).is(':visible')) 
     return true; 

    $(element).show(); 
    return false; 
} 
+0

但是'$(element).is(「:visible」)'已經返回true或false - 爲什麼要包裝它? – justkt 2011-03-03 15:47:09

+0

公平點 - 包裝它的唯一理由是根據該元素的可見性執行其他操作。 – 2011-03-03 15:59:12

+1

因爲你不能使用':visible'選擇器嗎? – justkt 2011-03-03 16:15:01

2

爲什麼不使用下列內容:

pmtext.is(":visible"); 

,將提供一個布爾值,如果是真的它是可見的,假的,如果它不是。換句話說,你可以使用pmtext.is(":hidden");

如果你想要做的東西看得見,嘗試:

$(this).parents(".pmMain").find(".pmMain5:visible").hide(); // only finds it if visible 
0

你有沒有看了。 toggle()方法?它可以接受一個「showOrHide」參數。

0

<script language="JavaScript">

function menu(bolum) {

if (bolum.style.display =='none') { bolum.style.display='';islem.style.display='';} else {bolum.style.display='none';} }

</script>

<img src="images/biz-arayalim.png" onclick="menu(firmamesajkutusu)" style="cursor:pointer;"> <div name="firmamesajkutusu" id="firmamesajkutusu"></div>

舊系統的javascript所有的div KONTROL功能