使用Wordpress Visual Composer onclick javascript动作按钮功能平滑定位滚动

使用Wordpress Visual Composer onclick javascript动作按钮功能平滑定位滚动,wordpress,smooth-scrolling,visual-composer,Wordpress,Smooth Scrolling,Visual Composer,我正在使用Wordpress Visual Composer,希望有一个按钮可以平滑地向下滚动到同一页面上的特定部分 我已经用锚ID和来自许多其他类似Q&A的代码探索了标准button元素的“insert inline onclick javascript动作”,但没有成功。有没有人对Wordpress Visual Composer有明确的答案 (以下是我如何实施@Frits建议的截图。) 在将来,添加您当前的尝试是一个好主意,因为它将帮助我们调整您的代码。你显然已经尝试过一些东西,但它们显

我正在使用Wordpress Visual Composer,希望有一个按钮可以平滑地向下滚动到同一页面上的特定部分

我已经用锚ID和来自许多其他类似Q&A的代码探索了标准button元素的“insert inline onclick javascript动作”,但没有成功。有没有人对Wordpress Visual Composer有明确的答案

(以下是我如何实施@Frits建议的截图。)


在将来,添加您当前的尝试是一个好主意,因为它将帮助我们调整您的代码。你显然已经尝试过一些东西,但它们显然不起作用(否则你就不会来这里)-向我们展示你尝试过的东西,我们可能会帮助你修复当前的尝试

不管怎么说,都是关于实际代码的

鉴于你遗漏了一些信息,我将不得不做出一些假设

我假设你有一个按钮,看起来像这样:

<a href="#my-visual-composer-row-id" class="my-link">Click here to scroll down</a>

这是从CSS技巧平滑滚动解决方案改编而来的。

我意识到这是一篇很老的文章,但这对我来说很有用

要在Visual Composer前端编辑器中实现这一点,请将您的锚id添加到要跳转到的行的锚字段中。 在“行设置”对话框的“锚文本”字段下,您可以看到一条提示,提示如下: '如果锚定为“contact”,则使用“#!/contact”作为其平滑滚动链接。'

e、 g
http://domainname.com/page-name/#!/联系方式

希望有帮助,
Ben

请在问题中包含您已经尝试实现的代码。谢谢Joe。我是stackoverflow/编码新手,非常感谢你的建议。你的假设做得很好,我已经实现了我所知道的一切(我是一个新手)。但还是没有运气。以下是网址www.evermanapparel.co.za。我还向问题添加了屏幕截图,说明我如何尝试实施您的建议。@johnblingaut所以您遇到的问题是类名
my link
-我以为您会给
a
标记一个class
my link
,但VisualComposer将您的自定义类添加到包装div中,这使得
$('a.my-link')…
毫无意义。但是,将其调整为
$('.my link a')…
修复了您网站上的问题:)我已在我的答案中编辑了代码块,因此请删除旧代码块,并在代码块中重新添加新代码:)再次感谢。试过了,但还是没有快乐。。。还有其他想法吗?嗨@johnbliginaut-我在你的网站上试用过,它对我很有效(通过开发者工具添加了javascript)。您似乎无意中删除了原始javascript块中的
——第一行显示
它可以工作!看着它如此流畅地滚动是多么愉快啊。感谢您的解决方案,感谢您对新手的耐心;-)
jQuery(document).ready(function($){
    $('.my-link, .my-link a').click(function(e){
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
            var target = jQuery(this.hash);
            target = target.length ? target : jQuery('[name=' + this.hash.slice(1) +']');
            if (target.length) {
                jQuery('html, body').animate({
                    scrollTop: Math.ceil(target.offset().top) 
                }, 1000);
            return false;
            }
        }
    });
});