javascript - 单击事件后无法从 url 中删除主题标签

标签 javascript jquery html css ajax

我几乎尝试了从该网站和其他网站找到的所有解决方案,但都没有成功。 我正在做的是使用 CSS3 动画旋转按钮。 我通过链接按钮(使用“a”元素)然后使用伪元素启用动画来做到这一点:target(在这种情况下几乎等于 onclick 事件有效)。

我的问题是,当我第一次点击按钮时,一个井号标签(在我的例子中是#btnq1)被添加到 URL。

现在,真正的问题是,当我重新加载整个页面时,或者如果我想再次单击该按钮并重新运行动画时,我无法删除这个井号标签。 我尝试了一些 Stackoverflow 问题的解决方案,例如 thisthis但没有得到任何好的结果。

请看下面我的代码:

您可以忽略名为 q1 的动画的初始阶段。 HTML代码:

<header>
<div id="title">
Just a title
</div>
</header>

<main>
Not important text

<div id="q1">
<div class="q1once">
<a href="#btnq1"><button type="button" name="" value="" id="btnq1">Click to rotate</button></a>
</div>
</div>
</main>

CSS 代码:

#q1{
    height:100%;
    }

.q1once{
    width:20%;
    height:15%;
    position:absolute;
    left:-50%;
    animation-name:q1;
    animation-delay:3s;
    animation-iteration-count:1;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    }

#btnq1:target{
    animation-name:q1leave;
    animation-iteration-count:1;
    animation-duration:4s;      
    }

@keyframes q1{
50%{
    transform:translate(440%) scaleX(3);
    }
100%{
    transform:translate(450%) scale(1.5,2);
    }
}
@keyframes q1leave{
    0%{transform:rotate(0deg);
        opacity:1;
        }
    100%{
        opacity:0;
        transform:rotate(360deg);
        }

你可以查看我的updated jsfiddle

在页面加载时添加 window.location.hash='' 是一个很好的部分解决方案,因为它会在我重新加载页面时删除主题标签。但是,在我第一次单击按钮后,它不会删除主题标签。我希望发生这种情况,以便能够多次旋转按钮。

最佳答案

试试这个

$('#btnq1').click(function(event){
   event.preventDefault();
   // your action
});

将不再添加标签

关于javascript - 单击事件后无法从 url 中删除主题标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23208459/

相关文章:

javascript - 在图像加载时将图像从零放大到完整尺寸

javascript - 如何 stub 一个使用 HTTP 响应进行响应的函数?

javascript - 在javascript中隐藏div onload

javascript - Dynatree - javascript 添加编辑和删除节点

javascript - 提交表单而不重定向到其他页面

html - 将标题放在图像上

javascript - 如何在 .append() 函数中的 $.each 中添加 html 元素?

javascript - 如何在 PHP 和 Javascript 之间隐藏我的 API key ?

javascript - 提取大括号之间的字符串但排除一些

javascript - 待办事项列表应用程序的 ReactJS 代码中未定义映射