2012-05-19 18 views
1

我知道在同一页面类似链接到一个部分:如何链接到与jQuery和PHP在同一页中的特定部分?

<a href='#A'>A</a> 

<a name='A'>Here is A</a> 

但是,当我用jQuery和PHP设计的,我有一个问题。我的设计如下: 有所有字母表。在信件下面,有divs(item_A,item_B,item_c等)。例如,当用户点击K字母时,页面将链接到#K div,同时#K div显示其内容(因为当网站首先打开时,项目div的显示为空)。但问题是,尽管#K(K只是例子)K显示其内容,页面没有重定向到#K div。你必须自己滚动。

下面是代码:

<div class="content_letters"> 
     <ul> 
     <?php $array_letter = array("A","B","C","Ç","D","E","F","G","H","I","İ", 
            "J","K","L","M","N","O","P","R","S","Ş","T", 
            "U","Ü","V","Y","Z"); 

     for ($i=0;$i<27;$i++) { 

     echo "<li><a id='letter_{$array_letter[$i]}' 
      href='#letter_{$array_letter[$i]}'>{$array_letter[$i]} | </a></li>"; 

     } 
    ?> 
    </ul> 
</div> 

<?php 
    for ($i=0;$i<27;$i++) { 
?> 
    <div class="content_letter_block"> 
      <div class="text"> 
      <div class="show_hide"> 
       <a class="button" id=" 
       <?php echo 'button_letter_'.$array_letter[$i]; ?>">SHOW/HIDE</a> 
      </div> 

       <a name="<?php echo "letter_".$array_letter[$i].'">';?> 
     <?php echo $array_letter[$i]; ?></a> starts from here</div> 

      </div>       
    </div> 

    <?php } ?> 

    <div style='display:none' id='<?php echo "item_".$array_letter[$i];?>'>  

     Here is item... 
    </div> 

这里是jQuery代码:

$(document).ready(function() { 
// target everything with IDs that start with 'button_letter' 

    $("[id^='button_letter']").click(function() { 


// split the letter out of the ID 
// of the clicked element and use it to target 
// the correct div 

$("#item_" + this.id.split("_")[1]).toggle(); 
}); 

$("[id^='letter']").click(function() { 
$("#item_" + this.id.split("_")[1]).show(); 

}); 
}); 

回答

0

不要有时间看到所有的代码,但不能使用scrollTop的()方法 ?
请参阅here

0

要使用jQuery滚动到你的网页中的特定ID,使用

$('html,body').animate({scrollTop: $("#"+id).offset().top},'slow'); 
0

您可以指定您的网址锚为好。

<a href="your-page.html#k" /> 

当你点击链接,你将被带到该网页,文档会自动滚动到<a name="k">

位置
相关问题