鍍金池/ 問(wèn)答/HTML5  PHP  HTML/ 實(shí)現(xiàn)點(diǎn)擊任意地方隱藏窗口

實(shí)現(xiàn)點(diǎn)擊任意地方隱藏窗口

為什么無(wú)效?哪里錯(cuò)了

<style>
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}
.test{
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
}
.test.is-visible {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.3s 0s, visibility 0s 0s;
    -moz-transition: opacity 0.3s 0s, visibility 0s 0s;
    transition: opacity 0.3s 0s, visibility 0s 0s;
}
</style>

<div class="test is-visible"> </div>

<script>
//點(diǎn)擊任意地方隱藏窗口
$('.test').on('click', function(event){
if( $(event.target).is('.test') ) {
$(this).removeClass('is-visible');
}
});
</script>
回答
編輯回答
礙你眼

你沒(méi)有引用jQuery 或者jQuery版本問(wèn)題,換個(gè)版本的jQuery試試。

2018年4月8日 09:19
編輯回答
瞄小懶

說(shuō)幾點(diǎn)。

  1. 需求說(shuō)不清楚。哪個(gè)是“窗口”?別跟我說(shuō)是.test,有寬高撐滿(100%)的窗口么?需求是點(diǎn)擊“任意地方”,事件卻掛在了.test上,那么這個(gè).test到底是“窗口”還是“點(diǎn)擊代理層”呢?
  2. 事件是掛在.test上的,然后再做遍判斷,看看event.target是不是.test?
  3. 為什么同時(shí)用opacity和visibility?
  4. transition需要寫(xiě)在本體上,然后一般通過(guò)添加類(lèi)的方式,變更屬性,然后transition就會(huì)生效了;這個(gè)跟動(dòng)畫(huà)的驅(qū)動(dòng)方式基本是反著的。
  5. 默認(rèn)延遲就是0,不需要寫(xiě)??s寫(xiě)屬性,寫(xiě)的越多就越容易錯(cuò)。
2017年1月25日 23:38