【问题标题】:jQuery double slider handles overlappingjQuery双滑块处理重叠
【发布时间】:2014-02-06 02:11:40
【问题描述】:

我正在尝试修改 jQuery 双滑块。除了一件事,一切都很好。然后 2 个手柄在同一位置,在最后一次移动期间未激活的手柄不能再拖动,除非您将另一个手柄移动到不同的位置。这是一个例子:

http://author.euro.confirmit.com/extwix/extquicktest_p564156043.aspx?__qtkey=9cffc015a10443a6ac0706c1abb41324&l=9

因此,如果您先尝试移动下手柄,则不能,否则您将移动上手柄。

我的代码如下:

<div style='width: 510px; text-align: right; color: #000000; margin-top: 50px;'> 100 </div>
<div id='rail'> </div>
<div style='width: 500px; text-align: left; color: #000000; margin-bottom: 50px;'> 0 </div>

$( '#rail' ).slider({
      range: true,
      min: 0,
      max: 100,
      values: [ 50, 50 ],
      slide: function( event, ui ){  
          $('#upper_result').html(ui.values[0]); 
          $('#q160_1').val(ui.values[0]); 
          $('#lower_result').html(ui.values[1]); 
          $('#q160_2').val(ui.values[1]);
      }
 });

var lower = document.getElementById('rail').getElementsByTagName('a')[1];
var upper = document.getElementById('rail').getElementsByTagName('a')[0];

lower.style.cssText="left: 250px; top: 35px; background: url('http://media.jts-mr.com/CustomeQuestions/Classic Slider/lower_thumb.gif')";
lower.innerHTML = "<div class='result' id='lower_result' style='position: absolute; top: 22px;'>" + $( '#rail' ).slider( 'values', 1 ) + "</div>";
upper.innerHTML = "<div class='result' id='upper_result' style='position: absolute; top: -20px;'>" + $( '#rail' ).slider( 'values', 0 ) + "</div>";

我该如何修复这个错误?

【问题讨论】:

  • 离题:为什么不var lower = $('#rail a').eq(1)
  • 我习惯于使用 JavaScript 而不是 jQuery。我不知道,但我会试试看。

标签: jquery jquery-ui


【解决方案1】:

这似乎是一个 jquery 实现选择而不是一个错误。

如果您真的想改变这种行为,可以通过以下任一方式解决:

  • 检查用户是否在中心线上方或下方拖动,并相应地更改顶部或底部滑块值。
  • 检查拖动方向是向左还是向右,然后将顶部或底部滑块标记为活动滑块。

【讨论】:

  • 我不太擅长 jQuery...你能告诉我如何将滑块标记为活动滑块吗?我尝试更改两个拇指的 z-Index,但没有帮助。
  • 我找到了一个 jQuery bug report on this issue,如果您对 jQuery 没有经验,我建议您在此处添加评论。选择是在 jquery.ui.slider.js 的 _mouseCapture 函数中进行的,如果事件是拖动,则需要在其中将 closestHandle 设置为定向的。
猜你喜欢
  • 2023-02-23
  • 2012-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多