2013-03-04 29 views
0

我有这个动画div到父div的JavaScript。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>标签住在page1 DIV。截至目前,只有当<a>标签居住在<div id="page1">时,Javascript才起作用。我很抱歉,如果这是非常基本的,因为我是Javascript的新手。谢谢!

+0

这也许不是很基本的,但我们不会知道,除非你说你要什么用这个代码来实现。 – gdoron 2013-03-04 15:56:29

+0

你的css看起来像什么样子。从我记忆中需要确定的位置:相对和/或绝对的声明。 – JRomero 2013-03-04 15:59:38

+0

请参阅下面的编辑。仍然不确定,但我猜这是你想要的。 – shubniggurath 2013-03-04 16:19:25

回答

1

为您的标签使用选择器,而不仅仅是一个。像一个班或一个ID。你不希望这发生在每一个标签,对吧?

此外,righty正在获取下一个...呃,没有什么是你想要打的标签旁边。

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

编辑:这可能无济于事。只要知道你不能在div中有一个标签,并调用.next() - 它没有兄弟姐妹。 .next()命中下一个兄弟。不是因为它在页面上直观显示,而是因为它存在于DOM树中....您需要在div中有一个兄弟才能使用.next()来抓取标签.....您不需要。那有意义吗?你究竟想要做什么动画?

编辑编辑:当点击给定类或标识的给定标记时,告诉我要标记的标识的id或类,然后告诉你如何去做。

编辑编辑编辑:如果你只想让第2页动画点击第1页>一个时,做到这一点:

$('#page1 a').click(function(){ $('#page2').animate(...put animation stuff here...) }); 
+0

非常感谢! “这个”声明让我感到困惑。我用ID选择器替换了它,一切都很好!我非常感谢! – jons 2013-03-04 17:27:40