2013-11-14 141 views
0

我有一个词汇表页面,它与锚点一起工作。当你点击“A”链接时,它会转到#A,当你点击“B”时,它会转到“#B”。但是,这跳转到锚点,我希望它滚动。滚动到多个锚点

我怎么能做到这个宽度javascrit?我可以把一个javascript的HTML onclick?

这是我的实际代码:

<?php $categories = get_categories('child_of=100&hide_empty=0'); 
     foreach ($categories as $category) { 
      //Display the sub category information using $category values like $category->cat_name 
      echo '<h2><a name="' . $category->name . '">'.$category->name.'</a></h2>'; 
      echo '<ul>'; 
      $posts = get_posts(array('cat' => $category->term_id, 'order' => 'ASC', 'post_type' => 'glosario', 'showposts' =>-1, 'post_status' => 'publish,future,draft')); 
      foreach ($posts as $post) { 
       echo '<li><a href="'.get_permalink($post->ID).'">'.get_the_title().'</a></li>'; 
      } 
      echo '</ul>'; 
     } ?> 
      <div id="scrollablemenu"> 
<?php $cats = get_categories('child_of=100&hide_empty=0'); 
foreach ($cats as $cat) { 
    echo '<a href="#' . $cat->cat_name . '" class="scrollablemenubutton" class="scroll">' . $cat->cat_name . '</a>'; 
} 
?> 


jQuery(document).ready(function() { 
jQuery(".scroll").click(function(event){  
    event.preventDefault(); 
    $('html,body').animate({scrollTop:$(this.hash).offset().top}, 500); 
}); 
}); 

谢谢!

回答

2

我会推荐jQuery ScrollTo() plugin;

很容易实现,你不必重新发明轮子。

这里是scrollTo如何使用一个基本的例子:

$("a").click(function(event) { 
    event.preventDefault(); 
    $('body').scrollTo('#anId', 1000); 
}); 

见现场演示here

如果您想在onc​​lick上使用它,请参阅演示here

注意,这里是说#anId它可以是任何东西,比如你要链接或任何的名称,你只要像这样引用它:

$(this).whatEverFunctionOrValueYouWant(); 
+0

我不权如何实现。我必须使用其他[插件](https://github.com/flesler/jquery.localScroll) – ThemesCreator

+0

@Genethic我会在一分钟内给你一个例子,给我一秒钟,为什么你想要localScroll,那除了我建议的那个外,我还会使用插件**。 – Trufa

+0

如果我只能使用第一个,更好。我看起来像它必须使用它。 – ThemesCreator