gpt4 book ai didi

javascript - 我可以根据 jquery 中的条件分配函数吗?

转载 作者:行者123 更新时间:2023-11-29 18:14:30 24 4
gpt4 key购买 nike

我有两个类似的功能如下;

对于最后一个元素函数;

function last () {
var $this = $(this);

$this.animate({
left:'-1200',
opacity:0
},500, function(){
$this
.addClass('hide')
.next()
.removeClass('hide').animate({
left:'0',
opacity:1
},500)
});
}

对于第一个元素函数;

function first () {
var $this = $(this);

$this.animate({
left:'1200',
opacity:0
},500, function(){
$this
.addClass('hide')
.prev()
.removeClass('hide').animate({
left:'0',
opacity:1
},500)
});
}

它们很相似,我想将它们组合成一个功能,如下所示;

function steps (pos) { /* -- Dif-1 -- */
var $this = $(this);

$this.animate({
left:pos==='next'&& '-'+'1200', /* -- Dif-2 -- */
opacity:0
},500, function(){
$this
.addClass('hide')
pos==='next' ? next() : prev() /* -- Dif-3 -- */
.removeClass('hide').animate({
left:'0',
opacity:1
},500)
});
}

我想根据 pos 变量确定函数 next() 或 prev() (pos==='next' ? next() : prev() )。我该怎么做?

最佳答案

你拍得很好。以下是我将如何实现您的目标:

function steps (pos) { /* -- Dif-1 -- */
var $this = $(this);

$this.animate({
left:(pos==='next'?-1:1) * 1200, /* -- Dif-2 -- */
opacity:0
},500, function(){
var elt = $this.addClass('hide');
var elt2 = (pos==='next' ? elt.next() : elt.prev()); /* -- Dif-3 -- */
elt2.removeClass('hide').animate({
left:'0',
opacity:1
},500);
});
}

当然还有其他方法。

关于javascript - 我可以根据 jquery 中的条件分配函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24594330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com