0

我有这个将 div 动画化为父 div 的 javascript。

Javascript

$(document).ready(function() {
    $("a").click(function() {
        var $righty = $(this).next();
        $righty.animate({
            right: parseInt($righty.css('right'),10) == 0 ?
            -$righty.outerWidth() :
            0
        });
    });
});

HTML

    <div id="home" class="page">                
        <div id="page1">                
            <a href="#">Inside Div</a>
        </div>

        <a href="#">Outside Div</a>

        <div id="page2" class="page">
            content 
        </div>                     
   </div>   

我希望<a>标签住在page1div 中。截至目前,Javascript 仅在<a>标签位于<div id="page1">. 如果这是非常基本的,我深表歉意,因为我是 Javascript 新手。谢谢!

4

1 回答 1

1

为您的 a 标签使用选择器,而不仅仅是 a。就像一个类或一个id。您不希望这种情况发生在每个 a 标签上,对吗?

此外,righty 正在获得 NEXT ......好吧,您想要点击的标签旁边没有任何内容。

你想做 $(this).parent().next(); - 不,请参阅下面的编辑。我猜,因为你从来没有告诉我们你想要什么,确切地说。

编辑:这可能根本没有帮助。只知道你不能在 div 中有 a 标签,然后调用 .next() - 它没有兄弟姐妹。.next() 命中下一个兄弟。不像它在页面上的视觉显示那样,而是因为它存在于 DOM 树中......你需要在 div 中有一个兄弟姐妹,以便使用 .next() 抓取 a 标签......你不需要. 那有意义吗?你到底想制作什么动画?

编辑编辑:当单击具有给定类或 id 的给定标签时,告诉我您想要动画的标签的 id 或类,我将向您展示如何操作。

编辑 编辑 编辑:如果您只想在单击 page1 > a 时使 page2 动画,请执行以下操作:

$('#page1 a').click(function(){ $('#page2').animate(...put animation stuff here...) });
于 2013-03-04T15:58:39.743 回答