我只是没有足够的javascript经验来调试它。任何帮助将不胜感激。
在下面的代码中,我不确定我的
switch($el_title.innerHTML)
还是我的
.animate( style , 400, function() {
不正确的陈述。可能两者兼而有之。
我不确定 $el_title.innerHTML 是否正确。对应的 HTML 如下所示
<ul>
<li>
<a href="images/Appetizers.jpg">About</a>
...
我创建了一个样式变量作为对象 style = {}; 我认为这就是如何使对象变量。将该样式变量传递给 .animate 似乎不起作用。
这是完整的代码:
initEventsSubMenu = function() {
$menuItems.each(function(i) {
var $item = $(this), // the <li>
$el_title = $item.children('a:first'),
el_image = $el_title.attr('href'),
$sub_menu = $item.find('.ac_subitem'),
$ac_close = $sub_menu.find('.ac_close'),
style = {};
switch($el_title.innerHTML)
{
case 'About':
style = {height:'400px',marginTop:'-200px'};
break;
case 'Menu':
style = {height:'200px',marginTop:'-150px'};
break;
case 'Take-Out':
style = {height:'500px',marginTop:'-250px'};
break;
case 'Gallery':
style = {height:'200px',marginTop:'-150px'};
break;
case 'Contact':
style = {height:'400px',marginTop:'-200px'};
break;
default:
style = {height:'400px',marginTop:'-200px'};
}
$el_title.bind('click.Menu', function(e) {
$.when(toggleMenuItems('down')).done(function(){
openSubMenu($item, $sub_menu, el_image);
});
return false;
});
/* closes the submenu */
$ac_close.bind('click.Menu', function(e) {
closeSubMenu($sub_menu);
return false;
});
});
},
openSubMenu = function($item, $sub_menu, el_image, style) {
$sub_menu.stop()
.animate( style , 400, function() {
/*
.animate({
height : '200px',
marginTop : '-150px'
}, 400, function() {
*/
另外 - 我知道底部的注释代码有效。而且我确信我的右括号没问题。
谢谢您的帮助。