按钮在点击时不会消失 (JavaScript)



我有以下代码,用于使按钮不可见,它工作一秒钟,然后按钮再次出现。上的链接在同一页面上导航我尝试过"return false;",但是导航不起作用。

如何隐藏按钮?

JavaScript

function btn_hide(){
    document.getElementById("btn_shfaqe").style.display="none";
}

html

<a href="?tip=fin&vid_id=0" onClick="btn_hide();">test1</a>

你必须做两件事;返回函数并返回false,如下所示:

javascript

function btn_hide(){
    document.getElementById("btn_shfaqe").style.display="none";
    return false;
}

html

<a href="?tip=fin&vid_id=0" onClick="return btn_hide();">test1</a>

这是演示

根据评论编辑
你最好隐藏按钮服务器端,但如果你真的想使用javascript,你可以在页面加载上这样做:

function getParameterByName(name) {
    name = name.replace(/[[]/, "\[").replace(/[]]/, "\]");
    var regex = new RegExp("[\?&]" + name + "=([^&#]*)"),
    results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/+/g, " "));
}
window.onload = function() {
    var vid_id = getParameterByName('vid_id');
    if (vid_id == 0 || vid_id == 5) {
        document.getElementById("btn_shfaqe").style.display="none";
    }
}

它是一个锚标记。我将引导您转到另一页。

如果你不想导航到另一个页面,你可以使用

javascript:void(0)

作为

<a href="javascript:void(0)" onclick="btn_hide();">

试试这个fot javascript:

<script>
    function visibilite() {
        var targetElement = document.getElementById('div_connexion');
        targetElement.style.display = "none";
    }
</script>

这个在html:中

<div id="div_connexion"><a class="connexion" href="javascript:visibilite();">Connexion</a></div>

我的网站上有这个,当我点击div时,它会被删除,直到用户刷新页面。

导航上的链接在我尝试过"return false"的同一页面上,但我的导航不起作用。

您想隐藏链接并且仍然可以导航吗?

有两种方法可以解决这个问题:

  1. 服务器端:向您的url添加一个参数,如下所示:?tip=fin&vid_id=0&hideButton=1,如果设置了display: none;样式,则在服务器端将其应用于您的元素。如果你使用的是PHP,那么以下几行应该可以做到:

    <?php if (isset($_GET['hideButton'])) { echo 'style="display: none;"'; }

  2. 客户端:点击按钮时,向localStorage写入一些标志值。加载页面时,请检查是否设置了标志。如果已设置-隐藏锚点。

    // Onclick handler:
    myButton.addEventListener('click', function () {
        localStorage.setItem('hideButton', 'yes');
    }, false);
    // Onload handler:
    window.addEventListener('load', function () {
        if (localStorage.getItem('hideButton') === 'yes') {
            myButton.style.display = 'none';
        }
    });
    

使用其中一种方法将隐藏链接,同时保持导航工作。您甚至不需要在onclick事件处理程序中隐藏按钮。

请尝试使用下面的代码片段。

<head runat="server">
    <title></title>
    <script type="text/javascript">
        function getParameterByName(name) {
            name = name.replace(/[[]/, "\[").replace(/[]]/, "\]");
            var regex = new RegExp("[\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
            return results == null ? "" : decodeURIComponent(results[1].replace(/+/g, " "));
        }
        function btn_hide() {
            document.getElementById("btn_shfaqe").style.display = "none";
        }
    </script>
</head>
<body>
        <div>
        <button id="btn_shfaqe" style="display: none">
            jayesh</button>
        <a href="?tip=fin&vid_id=0" onclick="btn_hide();">test1</a>
        <script type="text/javascript">
            if (getParameterByName("tip") == "") {
                document.getElementById("btn_shfaqe").style.display = "";
            }
        </script>
    </div>
</body>
</html>

最新更新