我有以下代码:
function openme() {
$('#wrapper').addClass('primary-nav-opened');
topbar.animate({
left: "265px"
}, {
duration: 'fast',
easing: 'swing'
});
pagebody.animate({
left: "265px"
}, {
duration: 'fast',
easing: 'swing'
});
$('body').addClass('ov-hidden');
}
我的问题是:我必须从左到右更改属性,但我必须动态地进行。
我尝试了以下操作,但它不起作用:
var direction = {'right' : pos};
然后我将所有'左'值改为方向。这不起作用。我的代码有什么问题,以及如何让它运行?
非常感谢任何帮助。
由于
更新代码:
function openme() {
$('#wrapper').addClass('primary-nav-opened');
topbar.animate({
direction: "265px"
}, {
duration: 'fast',
easing: 'swing'
});
pagebody.animate({
direction: "265px"
}, {
duration: 'fast',
easing: 'swing'
});
$('body').addClass('ov-hidden');
}
答案 0 :(得分:1)
如果要动态向右或向左动画,则需要将两者中的一个设置为所需的像素数,将另一个设置为“自动”。否则他们会发生冲突并且不会动画。 所以你可以这样做:
function openme(dir, amount) {
$('#wrapper').addClass('primary-nav-opened');
var movement = {};
if (dir === 'left') {
movement.left = amount;
movement.right = 'auto';
}
if (dir === 'right') {
movement.right = amount;
movement.left = 'auto';
}
topbar.animate(
movement, {
duration: 'fast',
easing: 'swing'
});
pagebody.animate(
movement, {
duration: 'fast',
easing: 'swing'
});
$('body').addClass('ov-hidden');
}
openme('left','265px');
答案 1 :(得分:0)
function openme(properties) {
$('#wrapper').addClass('primary-nav-opened');
var properties =
topbar.animate(properties, {
duration: 'fast',
easing: 'swing'
});
pagebody.animate(properties, {
duration: 'fast',
easing: 'swing'
});
$('body').addClass('ov-hidden');
}
openme({right: "auto", left: "265px"});
// ... sometime later
openme({right: "265px", left: "auto"});