【问题标题】:.hashchange without jumping to anchor tag?.hashchange 不跳转到锚标签?
【发布时间】:2013-12-06 17:43:36
【问题描述】:

我正在使用 Ben Alman 的 Hashchange 插件,并且我的代码成功地切换了指定 div 的类。

我不知道如何让它停止跳转到锚标签。我希望它停留在用户当前滚动定位的任何位置。

这是我的代码...

$(window).hashchange( function(){
$(function(){
$('.eventselected').removeClass('eventselected');
$(location.hash).addClass('eventselected');

});
});

$(window).trigger( 'hashchange' );

情况是,当用户从外部链接访问页面以及在父页面上单击链接时,我希望添加该类。只是不想让它跳!

链接的类是.side-eventmore

我试过用这个来修改我的代码……但还是不行……

$( ".side-eventmore" ).click(function(e) {
e.preventDefault();
var hash = $(this).attr("href").replace('events.cfm', '') || 'blank';
document.location.hash = hash;  
});

$(window).hashchange( function(ev){
ev.preventDefault();
$(function(){
$('.eventselected').removeClass('eventselected');
$(location.hash).addClass('eventselected');
});

});

$(window).trigger( 'hashchange' );

【问题讨论】:

    标签: jquery plugins anchor hashtag


    【解决方案1】:

    好的,想通了。

    我最终要做的是将每个受影响的 div 的 id 手动更改为主题标签加上“-id”,但保留指向没有“-id”的主题标签的链接所以..

    <div id="#hash-id"></div>
    <a href="#hash">link</a>
    

    然后在代码中我将新类仅应用于#hash-id ...就像这样...

    $(window).hashchange( function(){
    
    var selectid = location.hash;
    selectid += '-id';
    
    $(function(){
    $('.eventselected').removeClass('eventselected');
    $(selectid).addClass('eventselected');
    });
    
    });
    
    $(window).trigger( 'hashchange' );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-05
      • 2015-10-16
      相关资源
      最近更新 更多