代码之家  ›  专栏  ›  技术社区  ›  Kyle

jquerynoob:传输不传输

  •  2
  • Kyle  · 技术社区  · 14 年前

    I made an example ,我直接从 jQuery website

    HTML格式:

       <div class="addToCart">
         BLAHHHH
         </div>
         <br>
         <br>
         <br>
         <br>
         <div class="handelv">
         MORE BLAAAHH
         </div>​
    

     $(document).ready(function() {
    
    $(".addToCart").click(function () {
          var i = 1 - $(".addToCart").index(this);
          $(this).effect("transfer", { to: $(".handelv").eq(i) }, 1000);
    });
    
      });​
    

    我做错什么了?

    3 回复  |  直到 14 年前
        1
  •  5
  •   Matt user129975    14 年前

    http://jsfiddle.net/TuMsc/7/

    1. 示例中没有包含UI库
    2. $(".handelv").eq(i) i = 1 . 您的选择器只匹配一个元素;所以你需要设置 i 0
    3. 你需要定义一个样式 .ui-effects-transfer ,这样一个看得见的东西就发生了。

    所有代码都可以更改为:

    $(".addToCart").click(function () {
          $(this).effect("transfer", { to: $(".handelv") }, 1000);
    });
    
        2
  •  1
  •   DanSingerman    14 年前

    您遇到的问题是误解了示例中的选择器是如何使用的。这个 index eq 方法是选择第一个或第二个div。

    如果将代码更改为:

    $(".addToCart").click(function () {
          $(this).effect("transfer", { to: $(".handelv") }, 1000);
    });
    

    .ui-effects-transfer 展示某物;示例中使用了边框(它是传输期间显示的元素的类)并包含jqueryui

        3
  •  0
  •   derek    14 年前

    试试这个:

    $(document).ready(function() {
    
    $(".addToCart").click(function () {     
          $(this).effect("transfer", { to: $(".handelv") }, 1000);
    });
    
      });​