0

我似乎无法弄清楚如何使用 onSlide 事件,并且 jquerytools 的论坛似乎不起作用

基本上,我想在幻灯片上获取当前范围值,而不是 onchange。

这是我为 onchange 所做的工作,但我想在滑动范围选择器时获取当前值。

http://jsfiddle.net/rx3AJ/

我一直在尝试的JS:

$(function () {

      $("#slideshow img").each(function(index, element){$(element).attr("id", index+1);});    

      var count = $("#slideshow img").length;

      $('#slideshow img:gt(0)').hide();
      $("#date p").text($("#slideshow img#1").attr("alt"));

      $(":range").rangeinput({
            precision: 0, value: 1, min: 1, max: count,
            onSlide: function() {
                console.log("you\'re sliding");
                //this is where i want to update do stuff on slide I think? but it won't work
                return true;
              }   
        });

      $(':range').bind('onSlide', function(){})
      $(":range").change(function(event, value) {
          //i'd like to do this onslide
          console.info("value changed to", value);
          $('#slideshow img').hide();
          $('#slideshow img#' + value).show();
          $("#date p").text($("#slideshow img#" + value).attr("alt"));
      });

  });​

任何想法都非常感谢,因为我不知道......

4

1 回答 1

0

首先,不要使用 jsfiddle,因为它不包含 jQuery 工具库。其次,将您的范围输入代码更改为:

$(":range").rangeinput({
    precision: 0, value: 1, min: 1, max: count,
    onSlide: function(event, i) {
        $('#slideshow img').hide();
        $('#slideshow img').eq(i).show(); 
        // the way you had works too, but you don't have to assign id's this way
        $("#date p").text($("#slideshow img").eq(i).attr("alt"));

    }   
});

并确保包含 jQuery 工具(其中包括 jQuery)

于 2012-08-24T15:03:40.293 回答