在jQuery中获取动态元素的状态

时间:2014-06-10 12:44:50

标签: jquery dynamic

我正在构建一个网站,我想使用动态导航 - 当点击给定的菜单项时,主菜单会向右滚动,并且其前一个位置会显示辅助菜单。

$('.mainMenuItem').click(function(){
 $('.mainMenu').animate('properties so that item slides right');
 $('.secondaryMenu').show();
});

真的很基本的东西。我想要的是获得二级菜单的状态或主菜单的位置等。

已经尝试过:

$('.element').is(':visible');
$('.element').css('display');

$('.element').offset();

它们都工作正常,但它们只显示元素的初始状态,并且在用户浏览不同页面时不会更新网站更改。如何获取元素的实际更新属性?

PS。整个事情被整合到Joomla中 - 我不知道这是否干扰了正常工作的事情。

提前致谢,欢呼!

1 个答案:

答案 0 :(得分:1)

您应该将代码移动到一个函数中:

   function checkState (el) { 
       return $(el).css('display');
   }
   checkState('.element');

它仅显示元素的初始状态的原因是因为您的值在初始化时被评估(当脚本或文档在您使用$(document).ready()时完成加载时)。通过将其移动到函数并在单击或任何其他事件上调用它,然后在需要时评估该值。

这是一个小提琴的例子:http://jsfiddle.net/zfXVm/1/