我创建了一个对话框,现在我该如何关闭它?

时间:2013-03-20 15:30:04

标签: javascript html ajax

我在下面的网站中添加了一个链接,用于审核头部的JS,以及让您了解我是如何设置它的。如果您不想使用该链接,我还会尝试包含以下代码。

我最近学到了一些基本的AJAX以及我网站的精选页面http://classifieds.your-adrenaline-fix.com/detail.php?fatherID=37&TypeID=42&ListingID=42我创建了一个对话框,你会看到它出现在onscroll上。

如果有人可以请与我分享如何关闭关闭按钮关闭对话框,我将非常感激。

这是JS

<script type="text/javascript">
function loaddiv(thediv, thefile) {
    if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest();
    } else {
    xmlhttp = new ActiveXObject ('Microsoft.XMLHTTP');
    }

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById(thediv).innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open('GET', thefile, true);
    xmlhttp.send();
}
</script>

然后在页面上我只有

echo "<div id='div2'></div>";

然后弹出框:

<div class="DoYouHaveADirtBikeForSaleBox">
<h2>Got A Dirt Bike You Want to Sell?</h2>
<p class="DirtBikeForSaleBannerButton">
<a href="http://classifieds.your-adrenaline-fix.com/add.php">Yea, Show Me How</a>
</p>

<p class="DirtBikeForSaleBannerButtonNoThanks">
<a href="CloseDialog">Nope, Get This Out of The Way</a>
</p> 
</div>

如果有人可以与我分享如何通过点击关闭按钮使这个对话框消失,我将非常感激,我想提前感谢你们。

谢谢,

Stuart K

5 个答案:

答案 0 :(得分:0)

您可以使用

将其从dom中删除
element.parentNode.removeChild(element);

或者您可以将元素的显示样式设置为“无”,然后您可以使用它并创建开放式

答案 1 :(得分:0)

如果您不想再次显示,可以致电

document.getElementById('div2').remove();

在关闭按钮的onclick方法中。

或者,如果您可以再次使用它,请致电

document.getElementById('div2').style.display = 'none';

从href属性调用close函数:

<a href="javascript: CloseDialog();">Nope, Get This Out of The Way</a>

答案 2 :(得分:0)

如果你正在使用jquery,你可以使用“live”方法。即使在ajax请求之后,这也会将事件处理程序附加到页面上出现的任何新元素。所以如果你把关闭位给了一个类:

<a href="#" class="close_dialog">Nope, Get this out of the way</a>

如果jquery:

,你可以使用这个位

$('.close_dialog').live('click', function(){ $('.DoYouHaveADirtBikeForSaleBox').remove(); });

希望有所帮助: - )

答案 3 :(得分:0)

或者你可以试试这个:

<div class="DoYouHaveADirtBikeForSaleBox" id="DoYouHaveADirtBikeForSaleBox">
    <h2>Got A Dirt Bike You Want to Sell?</h2>
    <p class="DirtBikeForSaleBannerButton">
    <a href="http://classifieds.your-adrenaline-fix.com/add.php">Yea, Show Me How</a>
    </p>

    <p class="DirtBikeForSaleBannerButtonNoThanks">
    <a onclick="javascript:document.getElementById('DoYouHaveADirtBikeForSaleBox').style.visibility='hidden';">Nope, Get This Out of The Way</a>

    </p> 
</div>

在我的localhost xD上测试

__ _ __ _ __ _ __ EDITED _ __ _ __ _ __ _ __ < EM> _ __

最好试一试,看看卷轴是否再次显示div:

<div class="DoYouHaveADirtBikeForSaleBox" id="DoYouHaveADirtBikeForSaleBox">
    <h2>Got A Dirt Bike You Want to Sell?</h2>
    <p class="DirtBikeForSaleBannerButton">
    <a href="http://classifieds.your-adrenaline-fix.com/add.php">Yea, Show Me How</a>
    </p>

    <p class="DirtBikeForSaleBannerButtonNoThanks">
    <a onclick="javascript:var div = document.getElementById('DoYouHaveADirtBikeForSaleBox');div.parentNode.removeChild(div);">Nope, Get This Out of The Way</a>

---------------------------- UPDATE2 ------------------ ---------------

   <div id='div2'>
    <div class="DoYouHaveADirtBikeForSaleBox" id="DoYouHaveADirtBikeForSaleBox">
    <h2>Got A Dirt Bike You Want to Sell?</h2>
    <p class="DirtBikeForSaleBannerButton">
    <a href="http://classifieds.your-adrenaline-fix.com/add.php">Yea, Show Me How</a>
    </p>

    <p class="DirtBikeForSaleBannerButtonNoThanks">
    <a onclick="javascript:var div = document.getElementById('div2');div.parentNode.removeChild(div);">Nope, Get This Out of The Way</a>

    </p> 
    </div>
    </div>

Saludos;)

答案 4 :(得分:0)

你可以在div2中创建按钮并添加onClick属性,如下所示:

<button onclick="document.getElementById('div2').style.display='none'">Close</button>