我正在构建一个网站,我想使用动态导航 - 当点击给定的菜单项时,主菜单会向右滚动,并且其前一个位置会显示辅助菜单。
$('.mainMenuItem').click(function(){
$('.mainMenu').animate('properties so that item slides right');
$('.secondaryMenu').show();
});
真的很基本的东西。我想要的是获得二级菜单的状态或主菜单的位置等。
已经尝试过:
$('.element').is(':visible');
$('.element').css('display');
也
$('.element').offset();
它们都工作正常,但它们只显示元素的初始状态,并且在用户浏览不同页面时不会更新网站更改。如何获取元素的实际更新属性?
PS。整个事情被整合到Joomla中 - 我不知道这是否干扰了正常工作的事情。
提前致谢,欢呼!
答案 0 :(得分:1)
您应该将代码移动到一个函数中:
function checkState (el) {
return $(el).css('display');
}
checkState('.element');
它仅显示元素的初始状态的原因是因为您的值在初始化时被评估(当脚本或文档在您使用$(document).ready()
时完成加载时)。通过将其移动到函数并在单击或任何其他事件上调用它,然后在需要时评估该值。
这是一个小提琴的例子:http://jsfiddle.net/zfXVm/1/