如果下一个元素是最后一个元素隐藏另一个元素

JQuery if next element is last element hide another element

本文关键字:元素 隐藏 另一个 最后一个 下一个 如果      更新时间:2023-09-26

一直点击向下按钮:http://thomasgrist.tumblr.com/直到你到达最后。向下的箭头应该一键消失。任何想法,我如何能实现这一点与以下代码?

我是一个新手,但是我认为我需要在else语句中加上一个条件if index = something做这个,但是我不知道索引应该是什么,也不知道怎么写

$('#next').click(function (event) {
  event.preventDefault();
  var $current = $('#listOfWork > .current');
  if ($current.index() != $('#listOfWork > div').length - 1) {
    $("#next").css("display", "inline");
    $("#prev").css("display", "inline");
    $current.removeClass('current').next().addClass('current');
    scrollTo($current.next());
  } else {
    $("#next").css("display", "none");
  }
});
$('#prev').click(function (event) {
  event.preventDefault();
  var $current = $('#listOfWork > .current');
  if (!$current.index() == 0) {
    $("#next").css("display", "inline");
    $("#prev").css("display", "inline");
    $current.removeClass('current').prev().addClass('current');
    scrollTo($current.prev());
  } else {
    $("#prev").css("display", "none");
  }
});

我认为你需要添加这个条件:

if($current.next().is(':last'))

我想出了如何做到这一点。下面是代码。如果下一个div索引值等于div的数量减去2,则不显示下一个按钮。为了在没有前一个div时隐藏前一个按钮,我们编写了一个条件,当当前索引等于1时。

(function() {
var scrollTo = function(element) {
$('html, body').animate({
scrollTop: element.offset().top - headerHeight + 40}, 500);}
$('#next').click(function(event) {
event.preventDefault();
var $current = $('#listOfWork > .current');
if  ($current.index() == $('#listOfWork > div').length - 2) {
//alert('Current index is ' + !$current.index() + '.');
$("#next").css("display", "none");
$("#prev").css("display", "inline");
$current.removeClass('current').next().addClass('current');
scrollTo($current.next());
} else if ($current.index() != $('#listOfWork > div').length - 1) {
//alert('Current index is ' + !$current.index() + '.');
$("#next").css("display", "inline");
$("#prev").css("display", "inline");
$current.removeClass('current').next().addClass('current');
scrollTo($current.next());
}    
});
$('#prev').click(function(event) {
event.preventDefault();
var $current = $('#listOfWork > .current');
if ($current.index() == 1) {
$("#prev").css("display", "none");
$("#next").css("display", "inline");
$current.removeClass('current').prev().addClass('current');
scrollTo($current.prev());
} else {
//alert('Current index is ' + !$current.index() + '.');
$("#next").css("display", "inline");
$("#prev").css("display", "inline");
$current.removeClass('current').prev().addClass('current');
scrollTo($current.prev());
}    
});
})
();