1

我正在一个网站列出很多东西出售,如gumtree或craigslist。实现AJAX“滑块”的最佳方式是什么?

我们正在构建一个“滑块”,以便用户可以轻松地按价格细化搜索。

  • 滑动的控制向左或向右改变最小/最大价格
  • 或点击分离向上/向下箭头为最小和最大
  • 或键入每个框中的一个数值:可以在用户。

我们目前有工作,以便更改任何控制后,将列表更新重点是改变之后。但是在测试过程中,我们发现有些用户不会改变焦点,或者之后他们只是点击浏览器滚动条,这不会改变焦点。

由于显而易见的原因,我们不能让列表更新过快,因为它们似乎会“跳来跳去”,并且我们还希望将HTTP请求保持在最低限度。

其他网站谁已经很好地解决了这个问题的一些例子?

根据最佳用户体验和最少发送请求,实现此目的的最佳方式是什么?

回答

0

不完全jQueryUI的,但在ExtJS的类似的东西:http://dev.sencha.com/deploy/ext-4.0.7-gpl/examples/view/animated-dataview.html
的ExtJS的事件侦听器提供这个目的而方便buffer属性。在这个特定的例子中,它是70毫秒,所以你没有看到太多的效果。

不确定关于jQuery UI,但它不应该很难实现。这是如何工作的:

相反反应,模糊事件的,你应该听鼠标移动,KEYDOWN,克利克,鼠标滚轮等

  • 当用户更改过滤器:

    if (listing.timer) { window.clearTimeout(listing.timer); } 
    listing.timer = window.setTimeout(eventHandler, buffer); 
    
  • 当列表重新加载/销毁或应用其他一些过滤器时:

    window.clearTimeout(listing.timer); 
    
  • 事件处理程序看起来像

    function eventHandler() { 
        window.clearTimeout(listing.timer); 
        delete listing.timer; 
        // cancel pending requests if present... 
        sendRequest(getFilterValues(), ...); 
    } 
    
相关问题