Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery位置更改CSS_Jquery_Html_Css_Button_Position - Fatal编程技术网

使用jQuery位置更改CSS

使用jQuery位置更改CSS,jquery,html,css,button,position,Jquery,Html,Css,Button,Position,如果滑块(#mySlider)位于某个位置或具有相应的幻灯片,如何使按钮(var selectSlide)具有不同的背景色 我有以下jQuery: var slideWidth = $('#mySliderContainer').width(); var selectSlide = $('.selection') function currentButton() { if ($('#mySlider').position().left == 0) { selectSlide.eq

如果滑块(#mySlider)位于某个位置或具有相应的幻灯片,如何使按钮(var selectSlide)具有不同的背景色

我有以下jQuery:

var slideWidth = $('#mySliderContainer').width();
var selectSlide = $('.selection')

function currentButton() {

  if ($('#mySlider').position().left == 0) {
    selectSlide.eq(0).css('background', '#6F6F6F');
  } else {
    selectSlide.eq(0).css('background', '#D6D6D6');
  }
  if ($('#mySlider').position().left == -slideWidth) {
    selectSlide.eq(1).css('background', '#6F6F6F');
  } else {
    selectSlide.eq(1).css('background', '#D6D6D6');
  }
  if ($('#mySlider').position().left == -slideWidth * 2) {
    selectSlide.eq(2).css('background', '#6F6F6F');
  } else {
    selectSlide.eq(2).css('background', '#D6D6D6');
  }
  if ($('#mySlider').position().left == -slideWidth * 3) {
    selectSlide.eq(3).css('background', '#6F6F6F');
  } else {
    selectSlide.eq(3).css('background', '#D6D6D6');
  }

}
jQuery的链接位于


我需要在jQuery中再次调用该函数吗?我可能忽略了一些简单的事情。

问题是,在动画移动时,您正在检查左侧位置,因此它不会匹配

一个可能的解决方案是在单独更新的变量中跟踪活动幻灯片

左右移动幻灯片可能会产生如下代码:

activeSlide = (activeSlide+1) % slideCountWidth;

处理包装的那个。直接单击幻灯片可以直接将当前幻灯片设置为单击的内容

小提琴示例:

activeSlide = (activeSlide-1) % slideCountWidth;