【发布时间】:2013-08-02 21:23:31
【问题描述】:
所以我正在修改一个使用 scrollTo 函数的主题,它可以正常工作,但是由于我向页面添加了一个固定的标题,当我点击链接时它会转到正确的位置,但我的标题覆盖位于该位置的部分内容。我想偏移 y 滚动位置,这样我的标题就在内容的上方,而不是在内容的正上方。该网站是http://www.trevrandmarissa.com/。
运行脚本的 PHP 文件是
<script type="text/javascript">
jQuery(window).load(function() {
// Setup the site navigation
jQuery('#mainNav').visualNav({
link : 'a',
targetAttr : 'href',
inViewClass : 'inView',
selectedClass : 'selected',
selectedAppliedTo : 'a',
contentClass : 'soloSection',
contentLinks : 'visualNav',
bottomMargin : 200,
animationTime : <?php echo $scroll_speed; ?>
});
// Add scrollTo capability to special links and buttons
jQuery(".scrollToBtn").click(function(e){
e.preventDefault();
jQuery.scrollTo(jQuery(this).attr("href"), <?php echo $scroll_speed; ?> )
});
});
</script>
我想补充说从顶部偏移 100 像素以将内容向下推到足够低的程度,这样标题就不会覆盖该部分的标题和其余内容。如果您单击页面上的链接,您会看到它是如何被覆盖的。
谢谢!
附: PHP调用滚动速度是主题内置的函数,现在你可以假设<?php echo $scroll_speed; ?>是1200。
我试过了
jQuery(".scrollToBtn").click(function(e){
e.preventDefault();
jQuery.scrollTo(jQuery(this).attr("href").offset().top-300, <?php echo $scroll_speed; ?> );
});
但它不会起作用。
【问题讨论】:
-
jQuery(this).attr("href")中的href是什么?比如什么是值? -
href我相信链接与 PHP 生成页面时给出的 div 的 ID 相匹配。链接是标题中的#location,然后在ID为location的页面上找到生成的链接。如果我理解正确,PHP 会在页面加载时从数据库中单独生成页面,然后 javascript 只会监听匹配的 ID。