gpt4 book ai didi

javascript - 在单击 slider 下一个和上一个按钮时,我得到 $curr[action] 不是函数

转载 作者:行者123 更新时间:2023-12-04 07:30:24 24 4
gpt4 key购买 nike

我正在关注这个 Js fiddle
http://jsfiddle.net/ryt3nu1v/10/
我的结果:
My Output
我正在制作一个显示年龄的 slider ,因为我有一个跟随年龄的数组
15,25,35,45,55
我正在尝试在 slider 中显示它们
预期的行为是当我点击下一个按钮时看到下一个年龄
我根据需要从 fiddle 中使用的代码是

          //Age slider
$('div.result-age:gt(0)').hide(); //Hide all but the first one

var $allSlides = $('div.result-age'),
traverseDefault = "first", //set the defaults
actionDefault ="arrow-next";

$('.arrow-next,.selected-arrow-left-pointer').click(function(){

var traverse = traverseDefault,
action = actionDefault;

if($(this).is('.selected-arrow-left-pointer')){ //if action is prev
traverse = "last"; //set traverse to last in case nothing is available
action = "selected-arrow-left-pointer"; //set action to prev
}

var $curr = $allSlides.filter(':visible'), //get the visible slide
$nxtTarget = $curr[action](".result-age"); //get the next target based on the action.

$curr.stop(true, true).fadeIn(1000).hide(); //hide current one

if (!$nxtTarget.length){ //if no next
$nxtTarget = $allSlides[traverse](); //based on traverse pick the next one
}

$nxtTarget.stop(true, true).fadeIn(1000); //show the target

});
//age slider end
这是我的 HTML
<div class="result-box">
<div class="selected-arrow-left-pointer"></div>
<div class="result-age"><span><h4 v-for="(row,key,index) in ages">ALL ages here currently being display all at once</h4></span></div>
<div class="arrow-next"></div>

</div>
我目前的风格是年龄将显示在中心,左右两侧有下一个和上一个按钮
我错过了什么?

最佳答案

您的 v-for正在创建多个 h4标签,但您需要创建 result每个数字的 div 所以移动你的v-for在您的 div 标签内。然后,您为 actionDefault 使用了错误的值和 action应该是 next & prev next 指的是下一张幻灯片,prev 指的是上一张幻灯片,而不是类名。
演示代码 :

$('div.result-age:gt(0)').hide();
var $allSlides = $('div.result-age'),
traverseDefault = "first",
actionDefault = "next"; //use next ..refer next node

$('.arrow-next,.selected-arrow-left-pointer').click(function() {
var traverse = traverseDefault,
action = actionDefault;
if ($(this).is('.selected-arrow-left-pointer')) {
traverse = "last";
action = "prev"; //use prev..refer prev..
}

var $curr = $allSlides.filter(':visible');
$nxtTarget = $curr[action](".result-age");

$curr.stop(true, true).fadeIn(1000).hide();
if (!$nxtTarget.length) {
$nxtTarget = $allSlides[traverse]();
}

$nxtTarget.stop(true, true).fadeIn(1000);
});
span.next,
span.prev {
cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="result-box">
<div class="selected-arrow-left-pointer">
<< </div>
<!--your div should have ` v-for="(row,key,index) in ages"`-->
<div class="result-age"><span><h4>1</h4></span></div>
<div class="result-age"><span><h4>2</h4></span></div>
<div class="result-age"><span><h4>3</h4></span></div>
<div class="arrow-next"> >> </div>
</div>

关于javascript - 在单击 slider 下一个和上一个按钮时,我得到 $curr[action] 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67965053/

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