Jquery 弹出框问题的Jscrollpane插件

Jquery 弹出框问题的Jscrollpane插件,jquery,lightbox,jscrollpane,Jquery,Lightbox,Jscrollpane,我使用jscrollpane jquery插件应用于弹出的div框(简称lightbox),但是jscrollpane滚动条不会显示。以下是html: { <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

我使用jscrollpane jquery插件应用于弹出的div框(简称lightbox),但是jscrollpane滚动条不会显示。以下是html:

{
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">                                                                 
<head>                                                                  
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
<link type="text/css" href="style/jquery.jscrollpane.css" rel="stylesheet" media="all"></link>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="JScrollPaneScripts/jquery.mousewheel.js"></script>
<script type="text/javascript" src="JScrollPaneScripts/jquery.jscrollpane.min.js"></script>
<link rel = "stylesheet" type = "text/css" href = "sample1.css"></link>        
<script type="text/javascript">
 $( document ).ready( function( )  
  {   
   $( function( )   
   {
    $( '#testing2' ).jScrollPane( );
   }); 

   $( "#testing" ).click( function( )  
   {
    $( "#testing2" ).show( 5000 );   
   }); 
  }      
 );    
</script> 
</head>                                                                 
<body>  
 <div id = "wrapperdiv">  
  <a id = "testing" href="#">Link</a>   
  <div id = "testing2">  
   lksjflksjdlkflskdjflksjdflkjslkjdflk
   lsdkflksjgliowtjlskdfjlskdfjlskgs
   lksjlk,.x,cmlkvjlkjlwkeoltklfnjsklkj
   lksjf.m,.jlkjoliwekjtlkjgkjjlkjlkjll
   llvalkiwujoitjlkgskjdkgjlsd,fjlsllll
   lksjflksjdlkflskdjflksjdflkjslkjdflk 
   lsdkflksjgliowtjlskdfjlskdfjlskgs  
   lksjlk,.x,cmlkvjlkjlwkeoltklfnjsklkj 
   lksjf.m,.jlkjoliwekjtlkjgkjjlkjlkjll
   llvalkiwujoitjlkgskjdkgjlsd,fjlsllll
   lksjflksjdlkflskdjflksjdflkjslkjdflk 
   lsdkflksjgliowtjlskdfjlskdfjlskgs 
   lksjlk,.x,cmlkvjlkjlwkeoltklfnjsklkj 
   lksjf.m,.jlkjoliwekjtlkjgkjjlkjlkjll 
   llvalkiwujoitjlkgskjdkgjlsd,fjlsllll
   lksjflksjdlkflskdjflksjdflkjslkjdflk 
   lsdkflksjgliowtjlskdfjlskdfjlskgs 
   lksjlk,.x,cmlkvjlkjlwkeoltklfnjsklkj 
   lksjf.m,.jlkjoliwekjtlkjgkjjlkjlkjll
   llvalkiwujoitjlkgskjdkgjlsd,fjlsllll
   lksjflksjdlkflskdjflksjdflkjslkjdflk 
   lsdkflksjgliowtjlskdfjlskdfjlskgs 
   lksjlk,.x,cmlkvjlkjlwkeoltklfnjsklkj 
   lksjf.m,.jlkjoliwekjtlkjgkjjlkjlkjll 
   llvalkiwujoitjlkgskjdkgjlsd,fjlsllll
  </div> 
 </div> 
</body>                                                                 
</html> 
}
有几件事可以尝试:

如果我没有记错的话,元素必须具有css属性

 overflow:auto;
应用,因此将其粘贴到css中进行测试2

此问题是因为您的目标元素已隐藏,因此您可以在显示功能后尝试初始化scrollPane:

  $(document).ready(function() {   

       $('#testing').click(function(){

           $('#testing2').show(5000, function(){
               $('#testing2').jScrollPane();
           });   

       });

    });  
尝试在不隐藏元素的情况下查看是否正常工作

也可以在这里查看这些链接-评论5:

在这种情况下,我的上述代码将成为

   $(document).ready(function() {   

   $('#testing').click(function(){

       $('#testing2').show(5000).jScrollPane();  

   });

});  
和-这解释了在不可见元素上使用它的一些尝试:

如果我没有记错的话,元素必须具有css属性

 overflow:auto;
应用,因此将其粘贴到css中进行测试2

此问题是因为您的目标元素已隐藏,因此您可以在显示功能后尝试初始化scrollPane:

  $(document).ready(function() {   

       $('#testing').click(function(){

           $('#testing2').show(5000, function(){
               $('#testing2').jScrollPane();
           });   

       });

    });  
尝试在不隐藏元素的情况下查看是否正常工作

也可以在这里查看这些链接-评论5:

在这种情况下,我的上述代码将成为

   $(document).ready(function() {   

   $('#testing').click(function(){

       $('#testing2').show(5000).jScrollPane();  

   });

});  

和-这解释了在不可见元素上使用它时,在初始化它时不可见的项目上不起作用。这是因为它无法计算出它的大小。因此,您需要在显示内容后重新初始化jScrollPane,如本例所示:

可以将回调作为第二个参数提供给,以便您可以替换:

$( "#testing2" ).show( 5000 ); 
与:


作为旁注,HTML中
=
符号周围的空格可能会阻止它验证…

jScrollPane对初始化时不可见的项目不起作用。这是因为它无法计算出它的大小。因此,您需要在显示内容后重新初始化jScrollPane,如本例所示:

可以将回调作为第二个参数提供给,以便您可以替换:

$( "#testing2" ).show( 5000 ); 
与:


作为旁注,HTML中
=
符号周围的空格可能会阻止它验证…

Snap!我要做的唯一更正是,当显示功能延迟时,在显示后链接重新初始化将不起作用,因为重新初始化将在项目仍然隐藏时发生……是的,我几乎认为是相同的-似乎是参考帖子的意思,但正如你所说,在这种情况下,延迟将导致扳手在工作。我猜Dave的意思是,fade(5000)而不是show,我猜Dave acutally的意思是fadeIn(5000)-而不是show(500)alsoSnap!我要做的唯一更正是,当显示功能延迟时,在显示后链接重新初始化将不起作用,因为重新初始化将在项目仍然隐藏时发生……是的,我几乎认为是相同的-似乎是参考帖子的意思,但正如你所说,在这种情况下,延迟将导致扳手在工作。我猜Dave的意思是,fade(5000)而不是show。我猜Dave acutally的意思是fadeIn(5000)-而不是show(500)alsoThanks,我很感激。谢谢大家,我很感激。