【问题标题】:scrollTo function within PHP to href attribute with an offset?PHP中的scrollTo函数到带有偏移量的href属性?
【发布时间】: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调用滚动速度是主题内置的函数,现在你可以假设&lt;?php echo $scroll_speed; ?&gt;是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。

标签: jquery href attr scrollto


【解决方案1】:

我暂时做了一个快速修复:

  1. 将 useHash 设置为 FALSE
  2. 通过搜索“offset().top”更新 jquery.visualNav.js 文件并减去固定标题的高度。

【讨论】:

    猜你喜欢
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多