拖动容器(幻灯片)

时间:2015-05-29 10:09:16

标签: jquery draggable

我有一个可拖动的容器,里面装满了一排图像。 每当我拖动容器时,都会出现一个单击事件,打开其中一个链接。禁用它会很棒。

在拖动事件后,stackoverflow上有很多问题。 但它们似乎不起作用,我猜是因为在这种情况下,多个链接被拖到容器中。

到目前为止的JQUERY

var cancelFollow = false;

$(function(){

  $(".my-gallery").click(function(){
    e.stopPropagation();
    if (cancelFollow)
    {
      cancelFollow = false;
      return false;
    }
    return true;
  });

  $(".my-gallery").draggable({
    axis: "x",

    start: function(e, ui){},

    stop: function(e, ui){
      cancelFollow = true;
    }
  });
});

HTML

<div class="my-gallery">    
       <a href="img/slideshow1a.jpg">
           <img src="img/slideshow1a.jpg"/>
       </a>

       <a href="img/slideshow1b.jpg">
           <img src="img/slideshow1b.jpg"/>
       </a>      
 </div>

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您可以在需要时使用解除绑定功能。 jquery unbind 不确定,但检查是否可以使用类似的东西:

 html changed like ->

 <div class="my-gallery">    
   <a data-link="img/slideshow1a.jpg" href='javascript:void(0)'>
       <img src="img/slideshow1a.jpg"/>
   </a>

   <a data-link="img/slideshow1b.jpg" href='javascript:void(0)'>
       <img src="img/slideshow1b.jpg"/>
   </a>      
 </div>

 js part ->
 function thingsToDoOnclick(){
   window.location.href = $(this).data('link')
 }

 $(".my-gallery").draggable({
  axis: "x",

  start: function(e, ui){$(ui.helper).unbind('click', thingsToDoOnclick)},

  stop: function(e, ui){$(ui.helper).bind('click', thingsToDoOnclick)}
});