尝试在JQuery中对图像导航器进行环绕
我正在使用JQuery制作一个简单的图像导航器 例如,如果我们总共有3张图片,它看起来像这样:尝试在JQuery中对图像导航器进行环绕,jquery,event-handling,navigation,Jquery,Event Handling,Navigation,我正在使用JQuery制作一个简单的图像导航器 例如,如果我们总共有3张图片,它看起来像这样: Prev 1 2 3 Next //Write the onClick() event handler for "Prev" $('#prev').click(function(){ ind = ($('.image').index('.image:visible')+1); if (ind == 1){ hideAll(total
Prev 1 2 3 Next
//Write the onClick() event handler for "Prev"
$('#prev').click(function(){
ind = ($('.image').index('.image:visible')+1);
if (ind == 1){
hideAll(totalImages);
}
else{
hideAll(ind-1);
}
});
//Write the onClick() event hadler for "Next"
$('#next').click(function(){
ind = ($('.image').index('.image:visible')+1;
if (ind == totalImages){
hideAll(1);
}
else{
hideAll(ind+1);
}
});
我正在使用.hide函数与.click来实现此功能
因此,每次我点击一个导航选项,就会显示一个图像,而其余的则隐藏起来
我得到了工作的123link
我在上一个和下一个的问题
我得给他们做个包裹。所以如果我在1上,我按下Prev,我必须转到3。或者如果我在3,我按下下一步,我转到1
我为Prev和Next编写了如下单击函数:
Prev 1 2 3 Next
//Write the onClick() event handler for "Prev"
$('#prev').click(function(){
ind = ($('.image').index('.image:visible')+1);
if (ind == 1){
hideAll(totalImages);
}
else{
hideAll(ind-1);
}
});
//Write the onClick() event hadler for "Next"
$('#next').click(function(){
ind = ($('.image').index('.image:visible')+1;
if (ind == totalImages){
hideAll(1);
}
else{
hideAll(ind+1);
}
});
请注意,hideAllindex是一个函数,它隐藏除索引指定的图像之外的所有图像
它无法以以下方式正常工作:
从1开始,如果我按Prev,我正确地结束在3。
但当我再次按下Prev时,所有图像都变为空白。ind的值变为零
从1开始,如果我按下下一步,我正确地结束在2。
但从2开始,如果我按Next,我又会回到1,而不是3 您必须检查哪个图像是索引中的第一个/最后一个。这不是你问题的完整解决方案,但你应该给出一个如何解决它的想法 查看上一个和下一个函数
// Cache jQuery results
var element = $(this);
var items = element.find(options.slideitem);
// How many items to slide?
var total = items.length;
var count = 0;
// Hide all items but not first item
items.not(':first').hide();
// Calculate next item
function next() {
(count == total - 1) ? count = 0 : count++;
transition(items, count);
return false
};
// Calculate previous item
function previous() {
(count == 0) ? count = total - 1 : count--;
transition(items, count);
return false
};
// Do transition between two slides
function transition(items, count) {
if (options.effect == 'show') {
items.hide().eq(count).show();
};
if (options.effect == 'fadeIn') {
items.css('position', 'absolute');
items.fadeOut(options.fadespeed).eq(count).fadeIn(options.fadespeed);
};
};
那么它不起作用意味着什么呢?它根本不切换吗?它是否切换到错误的图像?您是否使用console.log输出了在单击“下一个”和“上一个”链接时尝试切换到的索引?它会停止执行我的所有其余代码。所以我没有导航栏什么的。我动态添加的其他div没有一个,它们不会被添加。你有任何类型的javascript错误吗?通常当其他脚本停止工作时,这是因为发生了javascript异常,这就停止了所有进一步的处理。我很抱歉,是的,有一个javascript错误,愚蠢的括号。好的,现在我的其余代码正在工作,但是有一些逻辑错误。我编辑了上面的问题来描述错误。