在onClick之前执行href

5 html javascript jquery hyperlink

我有以下链接:

<a href="#HDR" onClick="showGallery()">I</a>
Run Code Online (Sandbox Code Playgroud)

这使用以下javascript:

function showGallery(){
    if(window.location.hash) {
      $('#gallery').fadeIn('fast');
      var hash = window.location.hash.substring(1);
      alert(hash);
    } else {

    }

}
Run Code Online (Sandbox Code Playgroud)

所以它只显示画廊中的URL是一个标签.但是,当我点击链接时,没有任何反应.当我点击两次时,画廊会淡入.

所以链接首先生成javascript,我不工作'因为URL中没有主题标签,之后,它执行href并在URL中插入Hashtag.我怎样才能做到这一点?

我的目标:

当我点击链接时,它会打开一个图库.要知道我必须打开哪个图库,我在URL中插入一个标签.在这里,我想显示HDR专辑.而且我也想要,如果我的网站使用标签获得opend,它应该显示图库.

还有另一种更容易或更清洁的方法吗?希望你明白我想要的.

Sjo*_*erd 4

对于现代浏览器,您可以将 Javascript 代码绑定到onhashchange事件。链接将不带 JavaScript:

<a href="#HDR">I</a>
Run Code Online (Sandbox Code Playgroud)

只要哈希值发生变化,Javascript就会运行:

function locationHashChanged() {
    if (location.hash === "#HDR") {
        $('#gallery').fadeIn('fast');
    }
}

window.onhashchange = locationHashChanged;
Run Code Online (Sandbox Code Playgroud)

  • 它添加了一个事件处理程序,以便每当窗口上触发“hashchange”事件时都会调用函数“locationHashChanged”。在 jQuery 中,这将是“$(window).bind('hashchange', locationHashChanged)”。 (2认同)