想要在按钮点击时移动到不同的DIV

时间:2011-03-16 12:57:12

标签: javascript jquery html css

我的html页面中有5个div和5个按钮。我想点击按钮5时自动滚动到第5个div。但我不想使用位置在x轴上滚动...我想要与div id一起移动。所以我该怎么做?在jquery或javascript中帮助我。

3 个答案:

答案 0 :(得分:8)

使用scrollTop()<div>位置:

非动画:

var $divs = $('div'),
    $buttons = $('button');

$buttons.live('click', function ()
{
    var $this = $(this),
        index = $buttons.index(this);

    $(window).scrollTop($divs.eq(index).offset().top);
});

<强> Demo 1a →

动画:

var $divs = $('div'),
    $buttons = $('button'),
    $hb = $('html, body');

$buttons.live('click', function ()
{
    var $this = $(this),
        index = $buttons.index(this);

    $hb.animate({scrollTop: $divs.eq(index).offset().top + 'px'});
});

<强> Demo 1b →


使用<div> id:

// snip...
$buttons.live('click', function ()
{
    var $this = $(this),
        index = $buttons.index(this);

    window.location.hash = $divs.eq(index).attr('id');
});

<强> Demo 2 →

答案 1 :(得分:3)

请看一下以下链接

http://pastebin.com/Nav6aSQg

我已将代码粘贴在那里。

enter code here
enter code here




<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    <script type="text/javascript">
function scroll(val)
{
    //alert(document.getElementById(val));
    document.getElementById(val).click()
}

</script>
</head>
<body>
<div id="div1" style="height:200px">
The content of your div1 here.
</div>

<div id="div2" style="height:200px">
The content of your div2 here.
</div>

<div id="div3" style="height:200px">
The content of your div3 here.
</div>

<div id="div4" style="height:200px">
The content of your div4 here.
</div>

<div id="div5" style="height:200px">
The content of your div5 here.
</div>

<div style="display:none;">
<a href="#div1" id="id1">Link Text Here</a>
<a href="#div2" id="id2">Link Text Here</a>
<a href="#div3" id="id3">Link Text Here</a>
<a href="#div4" id="id4">Link Text Here</a>
<a href="#div5" id="id5">Link Text Here</a>
</div>


<input type="button" onclick="scroll('id1')" value="button1"></input>
<input type="button" onclick="scroll('id2')" value="button2"></input>
<input type="button" onclick="scroll('id3')" value="button3"></input>
<input type="button" onclick="scroll('id4')" value="button4"></input>
<input type="button" onclick="scroll('id5')" value="button5"></input>


</body>
</html>

enter code here

答案 2 :(得分:1)

可能不是确切的解决方案,但实现此类解决方案的最简单方法是:

按钮是;

<Button><a href="#move_here" class="myClass"> Click It </a></Button>

以及DIV要移动到的Button Click是;

<div>
    <a name="move_here"></a>
    ...div content here...
</div>

我希望你注意到move_here