2014-07-18 126 views
-1

我有几个隐藏的divs(class =“page”),它们在点击链接时显示并生成动画。这些div使用mCustomScrollbar插件包含可水平滚动的div(class =“content”)。第一次隐藏div显示滚动条处于原始位置(完全左滚动)。下一次显示隐藏的div时,滚动条会完全滚动到右侧,而不是位于原始位置。我尝试过使用防止Div从滚动权?

$('.content').scrollLeft(0); 

当链接被点击时,为了将这个类的所有实例都滚动回家。这没有奏效,API文档指出.scrollLeft()不适用于隐藏的div,所以我只在被暴露的.content div的id上调用.scrollLeft(),确保放置方法打电话后。页面div已被更改为显示:块

任何人都可以阐明如何确保.content div完全左滚动显示吗?以下是该页面的链接:http://cdhbrooksdesign.com/home.html

单击“制作”选项卡一次以显示,看起来正确。再次单击以收回,然后单击第三次,滚动部分一直滚动到右侧。

非常感谢任何可以帮助的人。

+1

您应该为此创建小提琴所以很容易调试:http://jsfiddle.net/ – mtaube

+0

你的代码不能正常工作,这里的[的jsfiddle](http://jsfiddle.net/ cMmq9 /) –

+0

没有我已下载和链接的插件,jsfiddle将无法正常工作。我将努力让jsfiddle运行,但同时,任何建议都会受到欢迎 – cdhb

回答

0

随时扩展需要隐藏的DIV,加入行:

$('.content').mCustomScrollbar("disable",true); 
$('.content').mCustomScrollbar("update"); 

的伎俩。以下是点击功能。希望别人也能找到这个有用的。

$(document).ready(function(){ 
     $("#current").click(function(){ 
      if (currentIndex == 1){ 
       retractPage(); 
      } 
      else if (sumIndex() !=0){ 
       retractExtend("currentPage", "current"); 
       currentIndex=1; 
       $('.content').mCustomScrollbar("disable",true); 
       $('.content').mCustomScrollbar("update"); 
      } 
      else { 
       extendPage("currentPage", "current"); 
       currentIndex=1; 
       $('.content').mCustomScrollbar("disable",true); 
       $('.content').mCustomScrollbar("update"); 
      } 

     });