Jquery 如何切换灰色箭头以增强旋转木马UI体验?
我有一堆盒子可以在旋转木马中滑动,如下所示: 以下是我的部门结构:Jquery 如何切换灰色箭头以增强旋转木马UI体验?,jquery,css,carousel,Jquery,Css,Carousel,我有一堆盒子可以在旋转木马中滑动,如下所示: 以下是我的部门结构: <ul> <li class="mp-resource"><div class="tl-box">1</div></li> <li class="mp-resource"><div class="tl-box">2</div></li> <li class="mp-resource">
<ul>
<li class="mp-resource"><div class="tl-box">1</div></li>
<li class="mp-resource"><div class="tl-box">2</div></li>
<li class="mp-resource"><div class="tl-box">3</div></li>
<li class="mp-resource"><div class="tl-box">4</div></li>
<li class="mp-resource"><div class="tl-box">5</div></li>
<li class="mp-resource"><div class="tl-box">6</div></li>
</ul>
- 1
- 2
- 3
- 4
- 5
- 6
当我的页面加载时,我不能向左滚动,所以我想灰色显示我的左箭头。我不想混淆我的用户
除此之外,当我的右箭头不能再向右滚动时,我想将其灰显
实现这一目标最有效的方法是什么
我如何检查我是否在旋转木马的末端
这是我的实时结果:您应该在每次滚动动画后检测您是在左侧还是在右侧,然后相应地更改箭头按钮的状态。检查将通过检查滚动位置来完成,可能看起来像这样:
function isLeft() {
return $scrollView.scrollLeft() == 0;
}
function isRight() {
return $overflow.width() - $carousel.width() - $scrollView.scrollLeft() <= 0;
}
$leftArrow.attr('disabled', isLeft());
$rightArrow.attr('disabled', isRight());
.mp-arrows[disabled] {
cursor: not-allowed;
color: #ccc;
border-color: #ccc;
}
对于css部分,可以使用属性选择器[禁用]
。大概是这样的:
function isLeft() {
return $scrollView.scrollLeft() == 0;
}
function isRight() {
return $overflow.width() - $carousel.width() - $scrollView.scrollLeft() <= 0;
}
$leftArrow.attr('disabled', isLeft());
$rightArrow.attr('disabled', isRight());
.mp-arrows[disabled] {
cursor: not-allowed;
color: #ccc;
border-color: #ccc;
}
和最新的小提琴:
请注意,我还将disabled属性添加到HTML中的left按钮,因为加载时您将始终向左滚动,这样您就不需要在加载时运行检查。您应该在每次滚动动画后检测您是在左侧还是在右侧,然后相应地更改箭头按钮的状态。检查将通过检查滚动位置来完成,可能看起来像这样:
function isLeft() {
return $scrollView.scrollLeft() == 0;
}
function isRight() {
return $overflow.width() - $carousel.width() - $scrollView.scrollLeft() <= 0;
}
$leftArrow.attr('disabled', isLeft());
$rightArrow.attr('disabled', isRight());
.mp-arrows[disabled] {
cursor: not-allowed;
color: #ccc;
border-color: #ccc;
}
对于css部分,可以使用属性选择器[禁用]
。大概是这样的:
function isLeft() {
return $scrollView.scrollLeft() == 0;
}
function isRight() {
return $overflow.width() - $carousel.width() - $scrollView.scrollLeft() <= 0;
}
$leftArrow.attr('disabled', isLeft());
$rightArrow.attr('disabled', isRight());
.mp-arrows[disabled] {
cursor: not-allowed;
color: #ccc;
border-color: #ccc;
}
和最新的小提琴:
请注意,我还将disabled属性添加到HTML中的left按钮,因为加载时您将始终向左滚动,这样您就不需要在加载时运行检查。您应该在每次滚动动画后检测您是在左侧还是在右侧,然后相应地更改箭头按钮的状态。检查将通过检查滚动位置来完成,可能看起来像这样:
function isLeft() {
return $scrollView.scrollLeft() == 0;
}
function isRight() {
return $overflow.width() - $carousel.width() - $scrollView.scrollLeft() <= 0;
}
$leftArrow.attr('disabled', isLeft());
$rightArrow.attr('disabled', isRight());
.mp-arrows[disabled] {
cursor: not-allowed;
color: #ccc;
border-color: #ccc;
}
对于css部分,可以使用属性选择器[禁用]
。大概是这样的:
function isLeft() {
return $scrollView.scrollLeft() == 0;
}
function isRight() {
return $overflow.width() - $carousel.width() - $scrollView.scrollLeft() <= 0;
}
$leftArrow.attr('disabled', isLeft());
$rightArrow.attr('disabled', isRight());
.mp-arrows[disabled] {
cursor: not-allowed;
color: #ccc;
border-color: #ccc;
}
和最新的小提琴:
请注意,我还将disabled属性添加到HTML中的left按钮,因为加载时您将始终向左滚动,这样您就不需要在加载时运行检查。您应该在每次滚动动画后检测您是在左侧还是在右侧,然后相应地更改箭头按钮的状态。检查将通过检查滚动位置来完成,可能看起来像这样:
function isLeft() {
return $scrollView.scrollLeft() == 0;
}
function isRight() {
return $overflow.width() - $carousel.width() - $scrollView.scrollLeft() <= 0;
}
$leftArrow.attr('disabled', isLeft());
$rightArrow.attr('disabled', isRight());
.mp-arrows[disabled] {
cursor: not-allowed;
color: #ccc;
border-color: #ccc;
}
对于css部分,可以使用属性选择器[禁用]
。大概是这样的:
function isLeft() {
return $scrollView.scrollLeft() == 0;
}
function isRight() {
return $overflow.width() - $carousel.width() - $scrollView.scrollLeft() <= 0;
}
$leftArrow.attr('disabled', isLeft());
$rightArrow.attr('disabled', isRight());
.mp-arrows[disabled] {
cursor: not-allowed;
color: #ccc;
border-color: #ccc;
}
和最新的小提琴:
请注意,我还在HTML的左按钮中添加了disabled属性,因为加载时您将始终向左滚动,这样您就不需要在加载时运行检查。首先,尝试为元素计算网格。然后,按步骤移动旋转木马内容(每个步骤为x*(元素宽度),其中x是要滚动的项目数)。这样,你可以很容易地计算出你已经滚动了多少项,然后检查还有多少项需要滚动。哇,听起来很复杂。你能帮我学习jQuery中的起始代码或其他东西吗?另外,请将你的代码减少到绝对最小,以重现你的问题;并在问题本身中包含(最小)代码。在设置滚动时,您需要将一些CSS类应用于公共容器。然后您可以使用ex:
.container.\u 0_5.btnLeft{opacity:0.5;指针事件:none;}
来“禁用”按钮,其中0
是索引,5
是最大值。这里是一个开始,您需要执行右箭头,然后首先从title
切换到data title
,尝试为元素计算网格。然后,按步骤移动旋转木马内容(每个步骤为x*(元素宽度),其中x是要滚动的项目数)。这样,你可以很容易地计算出你已经滚动了多少项,然后检查还有多少项需要滚动。哇,听起来很复杂。你能帮我学习jQuery中的起始代码或其他东西吗?另外,请将你的代码减少到绝对最小,以重现你的问题;并在问题本身中包含(最小)代码。在设置滚动时,您需要将一些CSS类应用于公共容器。然后您可以使用ex:.container.\u 0_5.btnLeft{opacity:0.5;指针事件:none;}
来“禁用”按钮,其中0
是索引,5
是最大值。这里是一个开始,您需要执行右箭头,然后首先从title
切换到data title
,尝试为元素计算网格。然后,按步骤移动旋转木马内容(每个步骤为x*(元素宽度),其中x是要滚动的项目数)。这样,你可以很容易地计算出你已经滚动了多少项,然后检查还有多少项需要滚动。哇,听起来很复杂。你能帮我学习jQuery中的起始代码或其他东西吗?另外,请将你的代码减少到绝对最小,以重现你的问题;并在问题本身中包含(最小)代码。在设置滚动时,您需要将一些CSS类应用于公共容器。然后您可以使用ex:.container.\u 0_5.btnLeft{opacity:0.5;指针事件:none;}
来“禁用”按钮,其中0
是索引,5
是最大值。这里是一个开始,您需要执行右箭头,然后首先从title
切换到data title
,尝试为元素计算网格。然后,按步骤移动传送带内容(ea