2

jQueryを使用して、テキストボックスを使用してアンカーに移動したい。たとえば、次のフォームを使用したい:

<form id="gotoanchorform">
    <input id="gotoanchorinput" type="text" />
    <input type="submit" value="Go to anchor" />
</form>

このフォームでは、アンカーの名前を入力し、[アンカーに移動] ボタンをクリックするか、Enter キーを押すと、ページをそのアンカーまでスクロールします。

<a name="targetAnchor" id="targetAnchor">Target</a>

これを jQuery で動作させるにはどうすればよいでしょうか?

4

4 に答える 4

1
    var anchor = $("#gotoanchorinput").val();
    var position = $("#"+anchor).offset();
    window.scrollTo(position.left, position.top);

このコードは、ページを で記述されたアンカーまでスクロールさせます#gotoanchorinput

于 2012-09-03T15:20:48.787 に答える
0

このようなことを試してください:

$(function() {
    $('form#gotoanchorform').submit(function(e) {
        e.preventDefault();

        var desired = $('#gotoanchorinput').val();

        window.location.href = window.location.href + '#' + desired;

        // or

        $('html, body').animate({'scrollTop', $('a[name*="' + desired +'"').offset().top + 'px'}, 900);


        return false;
    });
});

したがって、「foo」と入力して送信をクリックすると、「foo」を含む name 属性までページがスクロールされます。

于 2012-09-03T15:18:56.047 に答える
0

HTML 部分:

<form id="myForm" data-anchor="#myAnchor">
    <input type="text" />
    <input type="submit" value="Go to anchor" />
</form>

注意: data-x 属性は有効な HTML です。

JS 部分:

$(document).ready(function() {

    $('#myForm').submit(function(e){

        $(location).attr('href', $(this).attr('data-anchor'));

        return false;
    });
});
于 2012-09-03T15:21:44.230 に答える
0

単に行う:

var url = $('#gotoanchorinput').val();    
$(location).attr('href',url);
于 2012-09-03T15:18:28.087 に答える