2013-04-22 90 views
-4

我有这些变量:获取变量和准东西它

var menuItem_place = 0; 
var menuItem_position = 0; 
var menuItem_limit = parseInt($('.slideshowImage').length) - 1; 

他们的幻灯片我的关键变量。我需要将css属性和一些动画元素关联到变量menuItem_place

例如:

if(slideshowItem_place = 0){ 
    $(this).({'background-color':'black'}, 150); 
} 

我已经尝试了一堆的if/else,但它不工作。全球背景 - FIDDLE

+2

我不明白你的问题是 - jsfiddle似乎工作正常。 – Hannele 2013-04-22 13:38:23

+0

我需要额外的东西 - 想象一下,当它位于centerArea div内时,我想改变menuItem_3颜色,但是我想通过获取menuItem_place变量来实现。 – Pedro 2013-04-22 13:43:55

+0

你应该添加这个到你的问题。另外,在jQuery脚本中,你试图添加这种行为? – Hannele 2013-04-22 14:03:36

回答

0

不幸的是,不可能将回调附加到变量。回调仅适用于以不可预知的方式发生的事情 - 通常是用户输入。通过一个变量,你可以随时追踪代码使用它的地方。

你真正想要的是这些变量被改变的地方 - 实际上,菜单项是动画的地方。如果您查看click事件的每个回调,您会注意到它们最后都会呼叫menu_animateClick(); - 这可能是您想要进行任何更改的位置。

第一行重置所有的菜单项到原始尺寸的:

contents.animate({margin: 20, height: '64%', lineHeight: '63px'}, 300); 

第二行放大所选择的菜单项:

$(contents.get(menuItem_place)).stop().animate({margin: 0, height: '100%', lineHeight: '99px'}, 100); 

第三行计算出有多少个像素的菜单必须移动:

menuItem_position = 0 - (menuItem_place * 200); 

而最后一行实际上将菜单移动到t Ø选择的菜单项:

$('#menuContainer').stop().animate({left: menuItem_position + 'px'}, 300); 

在这种功能,它使用的片段$(contents.get(menuItem_place))来获得当前菜单项的内容,并简单地contents检索的所有菜单项的内容。要选择的菜单项设置为黑色,你可以尝试这样的事:

$(contents.get(menuItem_place)).stop().css('background-color', 'black').show(100); 

虽然设置回其原来的颜色是什么,你仍然要搞清楚!