0

多くの div を含むページがあり、#DIV_NAME を使用してユーザーを特定の div に誘導し、その div を強調表示したいと考えています。

JQUERYでやってみた

    var hasih = window.location.hash.substring(1);
    $('div#'+hasih).addClass("div_highlight");

ページを一度ロードしてから更新した場合にのみ機能します。

ページが初めてロードされたときにどのように機能させることができますか?

tnx

4

3 に答える 3

1

補足として、JavaScript を使用せずに CSS のみでこの効果を実現できます。

CSS 3 では、新しい:target疑似クラス[詳細] が導入されています。

CSS の :target 疑似セレクターは、URL のハッシュと要素の ID が同じ場合に一致します。

簡単な例を次に示します ( demo js fiddle ):

HTML

<a href="#first">first</a> - <a href="#second">second</a> - <a href="#third">third</a>

<div id="first"></div>
<div id="second"></div>
<div id="third"></div>​

CSS

div{
    height: 50px;
    width: 50px;
    border: 1px solid black;            
}

div:target{
    border-color: red;
}
于 2012-09-16T13:33:50.823 に答える
0

あなたはこのようにそれを行うことができます:

$('a').click(function(){
    var selector = $(this).attr('href');        
    $('html').animate({
        scrollTop: $(selector).offset().top
    }, 500,'',function(){
        $(selector).effect("highlight", {}, 1000);                             
    });
    return false;
});

これがデモです

jQueryUIを含めることを忘れないでください

于 2012-09-15T16:52:25.063 に答える
0
$(window).bind('load hashchange', function() {
    var hasih = window.location.hash.substring(1);
    $('div').removeClass('div_highlight');
    $('div#' + hasih).addClass("div_highlight");
});

URLを切り替えるだけです

http://jsfiddle.net/KWTmm/show/#hash1

http://jsfiddle.net/KWTmm/show/#hash2

于 2012-09-16T13:41:12.583 に答える